dpkg-cross-2.6.13ubuntu1/0000775000000000000000000000000012524520441012072 5ustar dpkg-cross-2.6.13ubuntu1/Makefile0000664000000000000000000000216511477765317013561 0ustar # # Copyright (C) 1997-2000 Roman Hodek # Copyright (C) 2004 Raphael Bossek # Copyright (c) 2007-2008 Neil Williams # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # all: man1 man3 $(MAKE) -C po test: man1: pod2man dpkg-cross > dpkg-cross.1 man3: pod2man Debian/DpkgCross.pm > Debian::DpkgCross.3 install: $(MAKE) -C po install clean: rm -f dpkg-cross.1 Debian::DpkgCross.3 distclean: clean dpkg-cross-2.6.13ubuntu1/dpkg-cross0000775000000000000000000013134712524520441014105 0ustar #!/usr/bin/perl use POSIX; use POSIX qw(:errno_h :signal_h); use POSIX qw( locale_h); use Locale::gettext; use IO::Handle; use File::Basename; use Text::Wrap; use Debian::DpkgCross; use strict; use warnings; use vars qw($verbose $str @removedeps $package %builds $arch $exclude @keepdeps $dpkg_statfile $progname $debname $anyway $cross2cross $crosstype $crossdir $crosslib $crosslib64 $crosslib32 $crosslibhf $crosslibn32 $crosslibo32 $crosslibsf $crosslibx32 $crossinc $data $len $retval $dpkg_cmd $mode $pkg @exlist $conffile $removedeps $keepdeps $DPKGCROSSVERSION $keep_temp $msg $multiarchpackage $multiarch $multiarchtriplet $multiarchconv); setlocale(LC_MESSAGES, ""); textdomain("dpkg-cross"); =pod =head1 Name dpkg-cross - manage libraries for cross compiling =cut =head1 Copyright and Licence Copyright (C) 1997-2000 Roman Hodek Copyright (C) 2000-2002 Colin Watson Copyright (C) 2002-2004 David Schleef Copyright (C) 2004 Nikita Youshchenko Copyright (C) 2004 Raphael Bossek Copyright (c) 2007-2011 Neil Williams Copyright (c) 2011 Wookey This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. =cut =head1 SYNOPSIS dpkg-cross [OPTIONS] [--install|-i] dpkg-cross [OPTIONS] [--build|-b] dpkg-cross [OPTIONS] [--remove|--purge|-r] dpkg-cross [OPTIONS] [--status|-s] dpkg-cross [OPTIONS] [--list|-l] dpkg-cross [OPTIONS] [--list-files|-L] dpkg-cross [OPTIONS] [--query|-Q] dpkg-cross [OPTIONS] [--update|-u] OPTIONS: [ -v | --verbose ] [ -q | --quiet ] { [ -a | --arch ] architecture } { [ -X | --exclude ] PACKAGE } [ -A | --convert-anyway ] [ -M | --convert-multiarch ] [ -k | --keep-temp ] =cut =head1 DESCRIPTION dpkg-cross is a tool to install and manage libraries and header files for cross compiling. dpkg-cross converts native Debian packages for the target architecture to cross compiling support packages that can be installed on any architecture, but in different paths to avoid conflicts. It then calls dpkg to install the converted package. The conversion step alone can be done with the --build option. Other options are wrappers around corresponding dpkg functionality. dpkg-cross is intended to make it easier for you to keep your cross compiling libraries up-to-date, as it works directly on Debian packages. It saves you copying the libs and headers from a machine with your target architecture, or extracting them via dpkg-deb --fsys-tarfile. dpkg-cross also collects and install the .shlibs files in -dev packages, which are needed by dpkg-shlibdeps. =cut =head1 CMAKE CMake cross-building support is experimental! CMake requires a little support from dpkg-cross to cross-build. The included cmake support file is an example for Linux kernels. Use: rm CMakeCache.txt cmake -DCMAKE_TOOLCHAIN_FILE=/etc/dpkg-cross/cmake/CMakeCross.txt The main changes involve setting PKG_CONFIG_LIBDIR within CMake an setting the include directories to locate the cross libraries installed by dpkg-cross e.g. #Make pkg-config look in the right place SET(ENV{PKG_CONFIG_LIBDIR} ${CMAKE_FIND_ROOT_PATH}/lib/pkgconfig/) ELSE (CMAKE_CROSSCOMPILING) Packages using cmake may need some tweaks to debian/rules, e.g. ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) export CC=$(DEB_HOST_GNU_TYPE)-gcc export CXX=$(DEB_HOST_GNU_TYPE)-g++ export CMAKE_TOOLCHAIN_FILE=/etc/dpkg-cross/cmake/CMakeCross.txt else export CC=gcc export CXX=g++ endif =cut =head1 OPTIONS dpkg-cross follows the usual GNU command line syntax, with long options starting with two dashes ('-'). -h|--help Show summary of options. -v|--verbose Be more verbose. -q|--quiet Be more quiet. -a|--arch architecture Install for architecture architecture. -i|--install Install Debian packages (.deb) named on the command line. Only files in the directories /lib, /usr/lib and /usr/include are extracted, since only they can be relevant for cross compiling. In the lib directories, also no subdirectories are extracted. -A|--convert-anyway Convert Debian package even if it does not provide any files useful for cross-compile environment. -M|--convert-multiarch Convert package even if it is a multiarch package. If the package is not a multiarch package, processing continues as normal. -X|--exclude PACKAGE Removes the specified package from the dependencies of the current package. Typically used to drop dependencies on packages that are not required within a cross-build environment, e.g. packages containing only executables or architecture independent files. dpkg-cross can only check the current package and information about a dependency is not available (for that, use xapt). By default, dpkg-cross converts all dependencies to specify the cross version of the dependency package. If you know that a particular dependency should not be converted (it provides no useful files or is architecture independent), that dependency can be excluded and dpkg-cross will remove that package from the dependency information of the cross package. -X has replaced the use of keepdeps and removedeps in /etc/dpkg-cross/cross-compile. -X|--exclude PACKAGE needs to be repeated for each package to be excluded. -k|--keep-temp Keep the built and installed package instead of deleting it. Requires --install. -b|--build Just build the converted Debian package, but do not install it with dpkg. -r|--remove Remove the cross compiling packages named on the command line. -s|--status Print status of the named packages. -l|--list Print short version of status of named packages or package name patterns. -L|--list-files List files belonging to the named packages. -u|--update Update current cross-installation with Debian packages found in/under the paths given as arguments. Will check all packages there if they are installed already as cross-compiling packages and if they are really updates. Those packages will be installed as with -i. -Q|--query Much like --update, but just prints available update packages and does not install them. =cut =head1 FILES /etc/dpkg-cross/cross-compile defines the default_arch for dpkg-cross: The default architecture for dpkg-cross is normally set by debconf. To change the system-wide value, use: $ sudo dpkg-reconfigure dpkg-cross Alternatively, the default can be overridden on a per-user basis using the optional file in $HOME/.dpkg-cross/ =cut $dpkg_statfile = "/var/lib/dpkg/status"; &read_config; $arch = &get_architecture; $DPKGCROSSVERSION = &get_version; $progname = basename($0); # packages to omit in dependencies @removedeps = (); #&get_removedeps; @keepdeps = (); #&get_keepdeps; sub usageversion { warn sprintf(_g(" dpkg-cross version %s Usage: dpkg-cross [OPTIONS] [--install|-i] dpkg-cross [OPTIONS] [--build|-b] dpkg-cross [OPTIONS] [--remove|--purge|-r] dpkg-cross [OPTIONS] [--status|-s] dpkg-cross [OPTIONS] [--list|-l] dpkg-cross [OPTIONS] [--list-files|-L] dpkg-cross [OPTIONS] [--query|-Q] dpkg-cross [OPTIONS] [--update|-u] Commands: -?|-h|--help|--version: print this message. Options: -a|--arch ARCH: set architecture (default: defined in configuration file) -v|--verbose: be verbose -q|--quiet: be quiet -A|--convert-anyway: convert package even if it does not provide any development files -M|--convert-multiarch: convert package even if it is a multiarch package -X|--exclude PACKAGE: Exclude this package from the dependency list of the built package. -k|--keep-temp: Keep the temporary archives when installing. dpkg-cross installs or removes libraries and include files for cross-compiling Debian packages. It reads /etc/dpkg-cross/cross-compile to determine the base directory of the cross compiler installation, and works in the subdirectories lib and include there. "), $DPKGCROSSVERSION) || die "$progname: failed to write usage: $!\n"; } $verbose = 1; $anyway = 0; $exclude = 0; $keep_temp = 0; @exlist=(); %builds=(); $cross2cross = 1; while( @ARGV ) { $_= shift( @ARGV ); last if m/^--$/; if (!/^-/) { unshift(@ARGV,$_); last; } elsif (/^(-\?|-h|--help|--version)$/) { &usageversion(); exit( 0 ); } elsif (/^(-v|--verbose)$/) { $verbose = 2; } elsif (/^(-q|--quiet)$/) { $verbose = 0; } elsif (/^(-k|--keep-temp)$/) { $keep_temp = 1; } elsif (/^(-i|--install)$/) { die sprintf(_g("%s: Only one action can be specified!\n"), $progname) if $mode; $mode = "install"; } elsif (/^(-r|--remove|--purge)$/) { die sprintf(_g("%s: Only one action can be specified!\n"), $progname) if $mode; $mode = "remove"; } elsif (/^(-s|--status)$/) { die sprintf(_g("%s: Only one action can be specified!\n"), $progname) if $mode; $mode = "status"; } elsif (/^(-l|--list)$/) { die sprintf(_g("%s: Only one action can be specified!\n"), $progname) if $mode; $mode = "list"; } elsif (/^(-L|--listfiles)$/) { die sprintf(_g("%s: Only one action can be specified!\n"), $progname) if $mode; $mode = "listfiles"; } elsif (/^(-b|--build)$/) { die sprintf(_g("%s: Only one action can be specified!\n"), $progname) if $mode; $mode = "build"; } elsif (/^(-Q|--query)$/) { die sprintf(_g("%s: Only one action can be specified!\n"), $progname) if $mode; $mode = "query"; } elsif (/^(-u|--update)$/) { die sprintf(_g("%s: Only one action can be specified!\n"), $progname) if $mode; $mode = "update"; } elsif (/^(-a|--arch$)/) { $arch = shift(@ARGV); die sprintf(_g("%s: --arch needs an argument.\n"), $progname) if (!($arch)); } elsif (/^(-X|--exclude)$/) { $pkg = shift (@ARGV); die sprintf(_g("%s: --exclude needs an argument.\n"), $progname) if ($pkg =~ /^\-/); push @removedeps, $pkg; } elsif (/^(-A|--convert-anyway)$/) { $anyway = 1; } elsif (/^(-M|--convert-multiarch)$/) { $multiarchconv = 1; } else { die sprintf (_g("%s: Unknown option %s.\n"), $progname, $_); } } if (!defined($mode) || (!@ARGV && $mode ne "list")) { die sprintf(_g("%s: Too few arguments.\n"), $progname); } if (not defined ($arch)) { die sprintf(_g("%s: No default architecture has been set.\n"), $progname); } if (!&check_arch($arch)) { die sprintf(_g("%s: Unrecognised architecture: %s\n"), $progname, $arch); } &setup; $retval = 0; if ($mode eq "query" || $mode eq "update") { my %update_list = get_update_list( @ARGV ); if (!%update_list) { printf _g("No updates available.\n"); exit 0; } if ($mode eq "query") { printf _g("Available updates:\n"); foreach (sort keys %update_list) { $msg = sprintf(_g("%s (from %s to %s)\n"), $_, $update_list{$_}->{'Oldver'}, $update_list{$_}->{'Newver'}); print wrap('','',$msg); } } else { $mode = "install"; @ARGV = (); foreach (sort keys %update_list) { push( @ARGV, $update_list{$_}->{'Path'} ); } } } if ($mode eq "status") { $dpkg_cmd = "--status"; } elsif ($mode eq "list") { unshift( @ARGV, "*" ) if !@ARGV; # list all packages if no arg given $dpkg_cmd = "--list"; } elsif ($mode eq "listfiles") { $dpkg_cmd = "--listfiles"; } elsif ($mode eq "remove") { $dpkg_cmd = "--purge"; } elsif ($mode eq "install") { my( @debs, $deb ); printf (_g("Converting packages:\n")) if $verbose >= 2; &check_exclude(@ARGV); foreach $package ( keys %builds) { $deb = &sub_build( $package, "/tmp" ); if ($deb) { push( @debs, "/tmp/$deb" ); } else { $retval = 1; } } if (@debs) { printf (_g("Installing converted packages with dpkg\n")) if $verbose >= 2; open( PIPE, "LC_ALL=C dpkg -i @debs 2>&1 |" ); while( ) { if ($verbose == 1 && /^Unpacking (replacement )?(\S+)/) { printf (_g("Unpacking %s\n"), $2); next; } print if ($verbose >= 1 && /^Setting up/) || $verbose >= 2 || !/^(\(Reading\sdatabase| Selecting\spreviously\sdeselected\spackage| Unpacking| Preparing\sto\sreplace| Setting\sup)/xi; } close( PIPE ); if ($?) { warn sprintf (_g("dpkg -i failed.\n")); $retval = 1; } if ($keep_temp == 0) { printf (_g("Removing tmp packages\n")) if $verbose >= 2; if (unlink( @debs ) != @debs) { warn sprintf(_g("Removing %s failed: %s\n"), @debs, $!); $retval = 1; } } } } elsif ($mode eq "build") { &check_exclude(@ARGV); foreach $package ( keys %builds ) { printf (_g("Trying to build: %s\n"), $package) if ($verbose >= 2); $retval = 1 if !sub_build( $package, "." ); } } if ($dpkg_cmd) { my $cmdline = "dpkg $dpkg_cmd " . join( " ", map( rewrite_pkg_name($_), @ARGV )); printf (_g("Calling %s\n"), $cmdline) if $verbose >= 2; system( $cmdline ); $retval = $? >> 8; } exit $retval; sub sub_build { my $package = shift(@_); my $debpath = shift(@_); # first of all, check if the file exists if (not -r $package) { warn sprintf (_g("%s: cannot access %s: %s\n"), $progname, $package, $!); return ""; } printf (_g("Going to convert %s\n"), $package) if $verbose >= 2; my $nofailmsg = 0; # set the umask (it may be bad by default) umask(0022); my $tmpdir = &create_tmpdir('dpkg-cross'); if (!$tmpdir) { warn sprintf(_g("%s: failed to create temporary directory: %s\n"), $progname, $!); return ""; } my ($src, $dst) = ("$tmpdir/src", "$tmpdir/dst"); if (!(mkdir("$tmpdir/src") && mkdir("$tmpdir/dst"))) { warn sprintf(_g("%s: failed to prepare temporary directory: %s\n"), $progname, $!); system("rm -rf $tmpdir"); return ""; } # remove tmp files on C-c $SIG{'INT'} = sub { printf (_g("Removing tmp files...\n")) if $verbose >= 2; system "rm -rf $tmpdir"; die sprintf(_g("Interrupted.\n")); }; printf (_g("Extracting %s\n"), $package) if $verbose >= 2; # extract package to $src if (system("dpkg --extract $package $src && dpkg --control $package $src/DEBIAN") != 0) { goto fail; } printf (_g("Extracting information from control file\n")) if $verbose >= 2; # extract useful information from control file if (!(open(CONTROL, "$src/DEBIAN/control"))) { warn sprintf(_g("%s: cannot open package control file: %s\n"), $progname, $!); goto fail; } my $field; my %control; while () { chomp; if (/^ /) { if (defined($field)) { $control{$field} .= ("\n" . $_); } } elsif (/^(\S+):\s*(.*)$/i) { $field = lc($1); $control{$field} = $2; } } close(CONTROL); if (defined ($control{'multi-arch'})) { if ($multiarchconv) { # Carry on and process file anyway if --convert-multiarch given warn sprintf(_g("%s: Multi-Arch package detected; processing anyway as --convert-multiarch specified.\n"), $progname); $multiarchpackage=1; } else { my $output = basename ($package); warn sprintf(_g("%s: Skipping Multi-Arch package '%s'.\n"), $progname, $output); if (not -f $output) { open(CP, "$package"); my @cp=; close (CP); open (CP, ">$output"); print CP @cp; close (CP); } exit 0; } } # check for existence of required fields for $field (qw(package version architecture)) { if (!defined($control{$field})) { warn sprintf(_g("%s: required field \'%s\' missing in control file\n"), $progname, $field); goto fail; } } # check for package already processed by dpkg-cross, or created by # cross-gcc compilation if (($control{"architecture"} eq "all") && ( ($control{"description"} =~ /generated by dpkg-cross/) || ($control{"description"} =~ /contains files for.*cross-compile/) )) { warn sprintf(_g("%s: %s already looks like a cross-compile package\n"), $progname, $package); goto fail; } # check package architecture my $control_arch = $control{"architecture"}; if (($control_arch ne $arch) and ($control_arch ne "all")) { warn sprintf(_g("%s: %s has wrong architecture (%s)\n"), $progname, $package, $control_arch); goto fail; } # prepare destination filename my $evers = $control{"version"}; $evers =~ s/^\d+://; # strip epoch for filename $debname = $control{"package"} . "-" . $arch . "-cross_" . $evers . "_all.deb"; # now ready to start preparing destination package printf _g("Creating destination package tree\n") if $verbose >= 2; my $objects = 0; # Number of objects (files and symlinks) in the converted package # Helper: create directory tree if it does not exist. sub ensure_dir { my $dir = $_[0]; while ($dir =~ m:/:g) { next if (length($`) == 0); next if -d $`; if (! mkdir($`)) { $msg = sprintf(_g("%s: failed to create %s: %s\n"), $progname, $`, $!); warn ($msg); return 0; } } return 1; } # Helper: link a file sub link_file { my ($from, $to) = @_; ensure_dir($to) or return 0; if (! link($from, $to)) { $msg = sprintf(_g("%s: failed to link %s to %s: %s"), $progname, $from, $to, $!); warn ($msg); return 0; } return 1; } # Helper: detect ldscript # Assumes that any *.so* file in library directory that is not ELF is # ldscript sub is_ldscript { my $file = $_[0]; if (! open( FILE, $file )) { $msg = sprintf(_g("%s: failed to open: %s\n"), $progname, $file, $!); warn ($msg); return 0; } $len = sysread( FILE, $data, 4 ); close( FILE ); return 0 if ($len != 4); return 0 if ($data =~ /^.ELF$/); return 1; } # Helper: fix ldscript. # Map all ocurances of /lib, /usr/lib, and (/usr)/lib # to corresponding $crosslib # FIXME!: remove all this repetition. # Uses global $multiarch regexp modifier sub fix_ldscript { my ($from, $to) = @_; ensure_dir($to) or return 0; if (! open(FROM, $from)) { $msg = sprintf(_g("%s: failed to open %s: %s"), $progname, $from, $!); warn ($msg); return 0; } if (! open(TO, ">$to")) { $msg = sprintf(_g("%s: failed to open %s for writing: %s"), $progname, $to, $!); warn ($msg); close(FROM); return 0; } while () { if ($multiarch) { s:(^|[^-\w/])(/usr)?/lib/$multiarch:$1$crosslib/:g; s:(^|[^-\w/])(/usr)?/lib32/$multiarch:$1$crosslib32/:g; s:(^|[^-\w/])(/usr)?/lib64/$multiarch:$1$crosslib64/:g; s:(^|[^-\w/])(/usr)?/libhf/$multiarch:$1$crosslibhf/:g; s:(^|[^-\w/])(/usr)?/libn32/$multiarch:$1$crosslibn32/:g; s:(^|[^-\w/])(/usr)?/libo32/$multiarch:$1$crosslibo32/:g; s:(^|[^-\w/])(/usr)?/libsf/$multiarch:$1$crosslibsf/:g; s:(^|[^-\w/])(/usr)?/libx32/$multiarch:$1$crosslibx32/:g; } s:(^|[^-\w/])(/usr)?/lib/:$1$crosslib/:g; s:(^|[^-\w/])(/usr)?/lib32/:$1$crosslib32/:g; s:(^|[^-\w/])(/usr)?/lib64/:$1$crosslib64/:g; s:(^|[^-\w/])(/usr)?/libhf/:$1$crosslibhf/:g; s:(^|[^-\w/])(/usr)?/libn32/:$1$crosslibn32/:g; s:(^|[^-\w/])(/usr)?/libo32/:$1$crosslibo32/:g; s:(^|[^-\w/])(/usr)?/libsf/:$1$crosslibsf/:g; print TO; } close(FROM); close(TO); return 1; } # Helper: fix .la file: # - set libdir to $crosslib # - change dependency_libs: # - remove any -L (because dpkg-cross never allows any libraries # outside $crosslib) # - replace any references to .la files to files in $crosslib # To make this work both for $crosslib and $crosslib64, one of those is passed # as 3rd argumengt # Also adapted to work for $crosslib32 sub fix_la_file { my ($from, $to, $crosslib) = @_; ensure_dir($to) or return 0; if (! open(FROM, $from)) { $msg = sprintf(_g("%s: failed to open %s: %s\n"), $progname, $from, $!); warn ($msg); return 0; } if (! open(TO, ">$to")) { $msg = sprintf(_g("%s: failed to open %s for writing: %s"), $progname, $to, $!); warn ($msg); close(FROM); return 0; } while () { if (/^libdir=/) { print TO "libdir=\'$crosslib\'\n"; } elsif (/^dependency_libs='(.*)'$/ or /^dependency_libs=(.*)/) { my $deplibs = $1; $deplibs =~ s/( )?-L\S+//g; $deplibs =~ s:\S+/([\w\.\-]+\.la)( |$):$crosslib/$1$2:g; print TO "dependency_libs='$deplibs'\n"; } else { print TO; } } close(FROM); close(TO); return 1; } # Helper: fixup pkgconfig file # Set prefix and exec_prefix to $crossdir, libdir to $crosslib, includedir to $crossinc sub fix_pc_file { my ($from, $to) = @_; ensure_dir($to) or return 0; if (! open(FROM, $from)) { $msg = sprintf(_g("%s: failed to open %s: %s\n"), $progname, $from, $!); warn ($msg); return 0; } if (! open(TO, ">$to")) { $msg = sprintf(_g("%s: failed to open %s for writing: %s"), $progname, $to, $!); warn ($msg); close(FROM); return 0; } # my $orig_prefix = '/usr'; while () { # fix for #483076 if ((m:^prefix="/usr(.*)"$:) or (m:^prefix=/usr(.*)$:)) { print TO "prefix=${crossdir}${1}\n"; $orig_prefix = "/usr${1}"; } elsif (/^exec_prefix=/) { print TO "exec_prefix=\${prefix}\n"; } elsif (/^libdir=/) { if ($crosslib eq "$crossdir/lib") { print TO "libdir=\${exec_prefix}/lib\n"; } else { print TO "libdir=$crosslib\n"; } # preserve original prefix for datarootdir entries } elsif (/^datarootdir="\${prefix}(.*)"$/ or /^datarootdir=\${prefix}(.*)$/) { print TO "datarootdir=${orig_prefix}${1}\n"; # preserve original (build arch) prefix for ${exec_prefix}/bin entries # (e.g. orbit_idl). } elsif (m:\${exec_prefix}/bin:) { s:\${exec_prefix}/bin:${orig_prefix}/bin:; print TO; } elsif (/^includedir=/) { my $inc = ($crossinc eq "$crossdir/include") ? "\${prefix}/include" : $crossinc; s:\${(exec_)?prefix}/include:$inc:; print TO "includedir=$inc\n"; } elsif (m#^Cflags:.*(-I/usr/include)#) { # dpkg-cross unconditionally moves /usr/include to /usr/$host/include # adapt pc file to match See bug #697695 s:-I/usr/include:-I/usr/$crosstype/include:; print TO; } else { print TO; } } close(FROM); close(TO); return 1; } my $config = &get_config; $crosstype = `CC="" dpkg-architecture -f -a$arch -qDEB_HOST_GNU_TYPE 2> /dev/null`; chomp ($crosstype); $multiarchtriplet = `CC="" dpkg-architecture -f -a$arch -qDEB_HOST_MULTIARCH 2> /dev/null`; chomp ($multiarchtriplet); # FIXME!: remove all this repetition (do we really need all these config vars?) $crossinc = $$config{'crossinc'}; $crossdir = $$config{'crossdir'}; $crosslib = $$config{'crosslib'}; $crosslib64 = $$config{'crosslib64'}; $crosslib32 = $$config{'crosslib32'}; $crosslibhf = $$config{'crosslibhf'}; $crosslibn32 = $$config{'crosslibn32'}; $crosslibo32 = $$config{'crosslibo32'}; $crosslibsf = $$config{'crosslibsf'}; $crosslibx32 = $$config{'crosslibx32'}; # add extra regexp component for multiarch packages if ($multiarchpackage) { $multiarch="\Q$multiarchtriplet/\E" } else {$multiarch=""}; # Now process regular files ... open(PIPE, "find $src/ -type f -print |") or goto fail; while() { chomp; s/^$src//; /^DEBIAN/ && next; # if we have library, or header, files on multiarch paths, # treat deb like a multiarch package if (m:^((/usr)?/lib/|/usr/include/)\Q$multiarchtriplet/\E:) { $multiarch="\Q$multiarchtriplet/\E" } # special support for generated cache data if (m:(/etc/dpkg-cross/cross-config.d/($arch)?/.*):) { &ensure_dir("$dst$1"); if (! open(FROM, "$src$_")) { $msg = sprintf(_g("%s: failed to open %s: %s\n"), $progname, "$src$_", $!); warn ($msg); return 0; } if (! open(TO, ">$dst$1")) { $msg = sprintf(_g("%s: failed to open %s for writing: %s"), $progname, "$dst$1", $!); warn ($msg); close(FROM); return 0; } while () { print TO; } close(FROM); close(TO); } elsif (m:^/usr(/share/.*/.*\.cmake)$:) { &ensure_dir("$dst/$crossdir/$1"); if (! open(FROM, "$src$_")) { $msg = sprintf(_g("%s: failed to open %s: %s\n"), $progname, "$src$_", $!); warn ($msg); return 0; } if (! open(TO, ">$dst/$crossdir/$1")) { $msg = sprintf(_g("%s: failed to open %s for writing: %s"), $progname, "$dst$1", $!); warn ($msg); close(FROM); return 0; } while () { print TO; } close(FROM); close(TO); } elsif (m:^/usr/include/($multiarch)?:) { # regular file under /usr/include/ or /usr/include/ link_file("$src$_", "$dst$crossinc/$'") or goto fail; # FIXME!: We should be able to do better than all this repetitive code! } elsif (m:^/usr/(lib/)$multiarch(.*\.([hH]|[hH][hH]|[hH][pP][pP]))$:) { # regular .h, .hh, or .hpp file under /usr/lib or /usr/lib/ link_file("$src$_", "$dst$crossdir/$1/$2") or goto fail; } elsif (m:^/usr/lib/$multiarch([^/]+\.[ao])$:) { # regular .a or .o file under /usr/lib or /usr/lib/ link_file("$src$_", "$dst$crosslib/$1") or goto fail; } elsif (m:^/usr/lib64/([^/]+\.[ao])$:) { # regular .a or .o file under /usr/lib64 link_file("$src$_", "$dst$crosslib64/$1") or goto fail; } elsif (m:^/usr/lib32/([^/]+\.[ao])$:) { # regular .a or .o file under /usr/lib32 link_file("$src$_", "$dst$crosslib32/$1") or goto fail; } elsif ((m:^/emul/ia32-linux/usr/lib/([^/]+\.[ao])$:)) { # regular .a or .o file under /emul/ia32-linux/ for #463588 link_file("$src$_", "$dst$crosslib32/$1") or goto fail; } elsif (m:^/usr/libhf/([^/]+\.[ao])$:) { # regular .a or .o file under /usr/libhf link_file("$src$_", "$dst$crosslibhf/$1") or goto fail; } elsif (m:^/usr/libn32/([^/]+\.[ao])$:) { # regular .a or .o file under /usr/libn32 link_file("$src$_", "$dst$crosslibn32/$1") or goto fail; } elsif (m:^/usr/libo32/([^/]+\.[ao])$:) { # regular .a or .o file under /usr/libo32 link_file("$src$_", "$dst$crosslibo32/$1") or goto fail; } elsif (m:^/usr/libsf/([^/]+\.[ao])$:) { # regular .a or .o file under /usr/libsf link_file("$src$_", "$dst$crosslibsf/$1") or goto fail; } elsif (m:^/usr/libx32/([^/]+\.[ao])$:) { # regular .a or .o file under /usr/libx32 link_file("$src$_", "$dst$crosslibx32/$1") or goto fail; } elsif (m:^(/usr)?/lib/($multiarch)?([^/]+\.so[^/]*)$:) { # regular .so* file under /lib, /usr/lib, /lib/, /usr/lib/ if (is_ldscript("$src$_")) { fix_ldscript("$src$_", "$dst$crosslib/$3") or goto fail; } else { link_file("$src$_", "$dst$crosslib/$3") or goto fail; } } elsif (m:^/usr/\w+-\w+(-\w+(-\w+)?)?/(lib|include)/:) { # regular file under /usr//lib or include if ($cross2cross) { link_file("$src$_", "$dst$_"); } else { next; } } elsif (m:^(/usr)?/lib64/($multiarch)?([^/]+\.so[^/]*)$:) { # regular .so* file under /lib64, /usr/lib64, /lib64/, /usr/lib64/ if (is_ldscript("$src$_")) { fix_ldscript("$src$_", "$dst$crosslib64/$3") or goto fail; } else { link_file("$src$_", "$dst$crosslib64/$3") or goto fail; } } elsif (m:^(/usr)?/lib32/([^/]+\.so[^/]*)$:) { # regular .so* file under /lib32, /usr/lib32 if (is_ldscript("$src$_")) { fix_ldscript("$src$_", "$dst$crosslib32/$2") or goto fail; } else { link_file("$src$_", "$dst$crosslib32/$2") or goto fail; } } elsif ((m:^/emul/ia32-linux/usr/lib/([^/]+\.so[^/]*)$:)) { # regular .so* file under /emul/ia32-linux/usr/lib if (is_ldscript("$src$_")) { fix_ldscript("$src$_", "$dst$crosslib32/$1") or goto fail; } else { link_file("$src$_", "$dst$crosslib32/$1") or goto fail; } } elsif (m:^(/usr)?/libhf/([^/]+\.so[^/]*)$:) { # regular .so* file under /libhf, /usr/libhf if (is_ldscript("$src$_")) { fix_ldscript("$src$_", "$dst$crosslibhf/$2") or goto fail; } else { link_file("$src$_", "$dst$crosslibhf/$2") or goto fail; } } elsif (m:^(/usr)?/libn32/([^/]+\.so[^/]*)$:) { # regular .so* file under /libn32, /usr/libn32 if (is_ldscript("$src$_")) { fix_ldscript("$src$_", "$dst$crosslibn32/$2") or goto fail; } else { link_file("$src$_", "$dst$crosslibn32/$2") or goto fail; } } elsif (m:^(/usr)?/libo32/([^/]+\.so[^/]*)$:) { # regular .so* file under /libo32, /usr/libo32 if (is_ldscript("$src$_")) { fix_ldscript("$src$_", "$dst$crosslibo32/$2") or goto fail; } else { link_file("$src$_", "$dst$crosslibo32/$2") or goto fail; } } elsif (m:^(/usr)?/libsf/([^/]+\.so[^/]*)$:) { # regular .so* file under /libsf, /usr/libsf if (is_ldscript("$src$_")) { fix_ldscript("$src$_", "$dst$crosslibsf/$2") or goto fail; } else { link_file("$src$_", "$dst$crosslibsf/$2") or goto fail; } } elsif (m:^(/usr)?/libx32/([^/]+\.so[^/]*)$:) { # regular .so* file under /libx32, /usr/libx32 if (is_ldscript("$src$_")) { fix_ldscript("$src$_", "$dst$crosslibx32/$2") or goto fail; } else { link_file("$src$_", "$dst$crosslibx32/$2") or goto fail; } } elsif (m:^/usr/lib/$multiarch([^/]+\.la)$:) { # regular .la file under /usr/lib fix_la_file("$src$_", "$dst$crosslib/$1", $crosslib) or goto fail; } elsif (m:^/usr/lib64/([^/]+\.la)$:) { # regular .la file under /usr/lib64 fix_la_file("$src$_", "$dst$crosslib64/$1", $crosslib64) or goto fail; } elsif (m:^/usr/lib32/([^/]+\.la)$:) { # regular .la file under /usr/lib32 fix_la_file("$src$_", "$dst$crosslib32/$1", $crosslib32) or goto fail; } elsif ((m:^/emul/ia32-linux/usr/lib/([^/]+\.la)$:)) { # regular .la file under /emul-ia32-linux/usr/lib/ fix_la_file("$src$_", "$dst$crosslib32/$1", $crosslib32) or goto fail; } elsif (m:/usr/lib/$multiarch(pkgconfig/[^/]+.pc)$:) { # regular .pc file in /usr/lib/pkgconfig fix_pc_file("$src$_", "$dst$crosslib/$1") or goto fail; # not for lib64: I don't know if there is any rationale } elsif (m:/usr/(share/pkgconfig/[^/]+.pc)$:) { # regular .pc file in /usr/share/pkgconfig fix_pc_file("$src$_", "$dst$crossdir/$1") or goto fail; } elsif (m:^/usr/(src/.*):) { # any files under /usr/src/ link_file("$src$_", "$dst$crossdir/$1") or goto fail; } elsif (m:^/usr/(lib/debug/.*):) { # any files under /usr/lib/debug link_file("$src$_", "$dst$crossdir/$1") or goto fail; } elsif (m:^/usr/(share/fonts/.*):) { # any files under /usr/share/fonts/ link_file("$src$_", "$dst$crossdir/$1") or goto fail; } elsif (m:^/usr/(lib/.*/tclConfig.sh):) { # the tcl cross-configure script link_file("$src$_", "$dst$crossdir/$1") or goto fail; } elsif (m:^/usr/(lib/perl/\d+\.\d+\.\d/(Config.pm|Config_heavy.pl)):) { # the perl cross-configure scripts link_file("$src$_", "$dst$crossdir/$1") or goto fail; } else { # everything else next; } $objects++; } close(PIPE); # Helper: create shortest relative symlink sub create_relative { my ($from, $to) = @_; # First remove common prefix from $from and $to while (1) { $from =~ m:^(/[^/]+): or last; my ($p1, $s1) = ($1, $'); $to =~ m:^(/[^/]+): or last; my ($p2, $s2) = ($1, $'); last if ($p1 ne $p2); ($from, $to) = ($s1, $s2); } # Now $from one more slashes than "../"'s should be added before $to # Example: /usr/lib/a/b -> /usr/lib/c # After loop: $from is "/a/b", $to is "/c" # $from has 2 slashes, so one "../" should be added before $to # Result is: /usr/lib/a/b -> ../c $from =~ s:[^/]::g; # remove all but slashes $from =~ s:^/::; # remove first slash (at least one slash always exists) $from =~ s:/:../:g; # replace each of other slashes with ../ $to =~ s:^/::; # remove leading slash from $to return $from . $to; } # ... next process symlinks. open(PIPE, "find $src/ -type l -print |") or goto fail; while() { chomp; s/^$src//; # Ignore any symlinks not under /usr or /lib or /lib64 (or /emul/ia32-linux) m:^/(usr|lib|lib64|emul/ia32-linux): or next; next if (m:^/usr/\w+-\w+(-\w+(-\w+)?)?/: && !$cross2cross); # Find out (absolute) symlink destination my $lv = readlink("$src$_"); if ($lv ne "." && $lv =~ m:^[^/]:) { m:^(.*)/[^/]*$:; $lv = "$1/$lv"; } # Ignore any symlinks pointing outside /usr and /lib and /lib64 (or /emul/ia32-linux) $lv =~ m:^/(usr|lib|lib64|emul/ia32-linux): or next; # Calculate corresponding DESTINATION path $lv = convert_path($multiarch,$lv); # Check if destination object exists. # FIXME: this code is not correct for the case of symlink chains. # If converting symlink chains will be ever needed, this # should be rewritten if (! -e "$dst$lv") { # Non-existing destination allowed only if it is .so link, # or if both source and destination is under /usr/src next unless (/.*\.so$/ or (m:/usr/src/: and $lv =~ m:/usr/:)); } # Calculate corresponding SOURCE path $_ = convert_path($multiarch,$_); # Skip links that are going to point to themselves next if ($lv eq $_); # skip links to private modules and plugins that are not # useful or packaged in the -cross package, basically anything # in a directory beneath /usr/lib/. See #499292 # except pkgconfig symlinks, see #506956 next if (($lv =~ m:$crosslib/.*/:) and ($lv !~ m:$crosslib/pkgconfig/:)); $lv =~ m:$crosslib/(.*)$:; # Translators, retain the -> to indicate the direction of the link. printf (_g("Creating symlink %s -> %s\n"), $_, $1) if ($verbose >= 2); # Skip if destination already exists - for the case if a symlink maps # to same destination as a regular file next if (-e "$dst$_"); # Previous line seems not to catch situation when "$dst$_" is a symlink # pointing to non-existant (external to the package being created) file unlink("$dst$_"); # Create a relative link my $relative = create_relative($_, $lv); ensure_dir("$dst$_") or goto fail; if (! symlink($relative, "$dst$_")) { $msg = sprintf(_g("%s: failed to create symlink %s -> %s: %s\n"), $progname, "$dst$_", $relative, $!); warn ($msg); goto fail; } $objects++; } close(PIPE); # At this point, $dst should be ready, and $objects should contain number # or files and symlinks under $dst if ($objects == 0) { if ($anyway) { $msg = sprintf(_g("package %s doesn't provide any useful files, but processing it anyway as requested\n"), $control{"package"}); print wrap('','',"$progname: $msg") if ($verbose >= 1); } else { $msg = sprintf(_g("package %s doesn't provide any useful files. Skipping.\n"), $control{"package"}); warn ("$progname: $msg"); $nofailmsg = 1; goto fail; } } # Create README in /usr/share/doc/ ... my $docpath = "/usr/share/doc/" . $control{"package"} . "-$arch-cross"; my $docfile = "$docpath/README"; printf (_g("Creating %s\n"), $docfile) if $verbose >= 2; ensure_dir("$dst$docfile") or goto fail; if (! open(DOC, ">$dst$docfile")) { $msg = sprintf(_g("%s: failed to open %s for writing: %s\n"), $progname, "$dst$docfile", $!); warn ($msg); goto fail; } print DOC "Package " . $control{"package"} . "-$arch-cross is a part of the cross-compiling environment \n" . "for $arch target. It was created from " . $control{"package"} . " package using the dpkg-cross tool.\n\nTo get more information about " . $control{"package"} . " or dpkg-cross packages,\n" . "please install those and read the provided documentation.\n"; close(DOC); if (! mkdir("$dst/DEBIAN")) { $msg = sprintf(_g("%s: failed to create %s/DEBIAN: %s\n"), $progname, $dst, $!); warn ($msg); goto fail; } # Link the shlibs file if (-f "$src/DEBIAN/shlibs") { print "Installing shlibs file\n" if $verbose >= 2; link_file("$src/DEBIAN/shlibs", "$dst/DEBIAN/shlibs"); } # Create the control file. print "Creating control file\n" if $verbose >= 2; if (! open(CONTROL, ">$dst/DEBIAN/control")) { $msg = sprintf(_g("%s: failed to open %s/DEBIAN/control for writing: %s\n"), $progname, $dst, $!); warn ($msg); goto fail; } print CONTROL "Package: " . $control{"package"} . "-$arch-cross\n"; print CONTROL "Version: " . $control{"version"} . "\n"; print CONTROL "Section: " . $control{"section"} . "\n"; print CONTROL "Priority: extra\n"; print CONTROL "Architecture: all\n"; if (defined($control{"maintainer"})) { print CONTROL "Maintainer: " . $control{"maintainer"} . "\n"; } if (defined($control{"source"})) { print CONTROL "Source: " . $control{"source"} . "\n"; } else { print CONTROL "Source: " . $control{"package"} . "\n"; } # Turn Pre-Depends into Depends if (defined($control{"pre-depends"})) { if (defined($control{"depends"})) { $control{"depends"} = $control{"pre-depends"} . ", " . $control{"depends"}; } else { $control{"depends"} = $control{"pre-depends"}; } } # Rewrite dependency fields # Make 'provides' field to exist always to all $package-$arch-dcv1 # but create no dependencies on dcv1 - see #514249 my $prov = (exists $control{"provides"}) ? $control{"provides"}: ""; my $rewritten = rewrite_dependencies($prov); my $joiner = (length($rewritten) > 0) ? ", " : ""; $rewritten .= $joiner.$control{"package"} ."-$arch-dcv1"; print CONTROL ucfirst("provides") . ": $rewritten\n"; for $field (qw(depends conflicts replaces)) { next if not defined $control{$field}; my $rewritten = rewrite_dependencies($control{$field}); if (length($rewritten) > 0) { # Capitalize first letter of field name print CONTROL ucfirst($field) . ": " . $rewritten . "\n"; } } # Output modified description if (defined($control{"description"})) { $control{"description"} =~ /(.*)/; # match first line print CONTROL "Description: $1 (for cross-compiling)\n"; print CONTROL " This package was generated by dpkg-cross for cross compiling.\n .$'\n"; } else { print CONTROL "Description: " . $control{"package"} . " for cross-compiling\n"; print CONTROL " This package was generated by dpkg-cross for cross compiling.\n" . " .\n Source package " . $control{"package"} . " provided no description.\n" } close(CONTROL); # Create md5sums file printf (_g("Creating md5sums file\n")) if $verbose >= 2; # Code shamelessly stolen from dh_md5sums system("cd $dst && find . -type f ! -regex '.*/DEBIAN/.*' -printf '%P\\0' | xargs -r0 md5sum > $dst/DEBIAN/md5sums"); # Find out if fakeroot is needed and if it is available my $wrapper = ""; if (geteuid() != 0) { $wrapper = "/usr/bin/fakeroot"; if (! -x $wrapper) { $msg = sprintf(_g("%s: %s is not available, package files will not be owned by root\n"), $progname, $wrapper); warn ($msg); $wrapper = ""; } } # Build the .deb printf (_g("Building %s\n"), $debname) if $verbose == 1; if (system( "$wrapper dpkg-deb -b $dst $debpath")) { $msg = sprintf (_g("%s: building package with dpkg-deb -b failed.\n"), $progname); warn ($msg); goto fail; } $SIG{'INT'} = 'DEFAULT'; system "rm -rf $tmpdir"; return $debname; fail: system("rm -rf $tmpdir"); $SIG{'INT'} = 'DEFAULT'; warn sprintf(_g("%s: conversion of %s failed.\n"), $progname, $package) unless $nofailmsg; return ""; } sub get_update_list { my( %installed, %available, %av_path, $pkg, %update_list, $cnt ); local( *F ); if ($verbose >= 2) { printf (_g("Determining installed packages ")); STDOUT->flush(); } open( F, "<$dpkg_statfile" ) or die sprintf(_g("Can't open %s: %s"), $dpkg_statfile, $!); %installed = parse_pkg_list(); if ($verbose >= 2) { $cnt = %installed; $cnt = $cnt+0; printf (ngettext("(%d package)\n", "(%d packages)\n", $cnt), $cnt); } foreach (@_) { scan_available( \%available, \%av_path, $_ ); } foreach $pkg (keys %installed) { if (exists($available{$pkg}) && version_less_p( $installed{$pkg}, $available{$pkg} )) { $update_list{$pkg}->{'Path'} = $av_path{$pkg}; $update_list{$pkg}->{'Oldver'} = $installed{$pkg}; $update_list{$pkg}->{'Newver'} = $available{$pkg}; } } return %update_list; } sub scan_available { my $av_ref = shift; my $path_ref = shift; my $pkgpath = shift; my( @pkglist, %available, $file, $pkg, $cnt ); if ($verbose >= 2) { printf (_g("Scanning .deb files under %s "), $pkgpath); STDOUT->flush(); } @pkglist = `find $pkgpath -type f -a -name '*.deb' -print`; die sprintf(_g("find command returned error status %s\n"), $?) if $?; if (!@pkglist) { printf (_g("No .deb files found under %s\n"), $pkgpath) if $verbose >= 1; return; } chomp @pkglist; $cnt = 0; foreach $file (@pkglist) { open( F, "dpkg --field $file |" ) or die sprintf (_g("Can't run dpkg --field %s: %s\n"), $file, $!); if (%available = parse_pkg_list(1)) { $pkg = (keys %available)[0]; $av_ref->{$pkg} = $available{$pkg}; $path_ref->{$pkg} = $file; ++$cnt; } } printf(ngettext("(%d package)\n", "(%d packages)\n", $cnt), $cnt) if ($verbose >= 2); } sub parse_pkg_list { my $avail_pkg = shift; my( $name, $version, %result ); local($/) = ""; # read in paragraph mode while( ) { /^Package:\s*(\S+)\s*$/mi || next; $name = $1; if ($avail_pkg) { # available package: check architecture /^Architecture:\s*(\S+)\s*$/mi || next; next if $1 ne $arch; } else { # package from status file: check if installed at all, and # if cross-compiling package; strip suffix from name next if /^Status:.*\s+(\S+)\s*$/mi && $1 ne 'installed'; next if $name !~ /-$arch-cross$/; $name =~ s/-$arch-cross$//; } /^Version:\s*(\S+)\s*$/mi || next; $version = $1; $result{$name} = $version; } close( F ) or die sprintf(_g("Error status from dpkg\n"));; return %result; } sub version_less_p { my $vers1 = shift; my $vers2 = shift; system( "dpkg --compare-versions $vers1 '<<' $vers2" ); return $? == 0; } sub rewrite_dependencies { my $str = shift; my @list = map( rewrite_alternatives($_), split( /\s*,\s*/, $str)); # remove empty elements @list = map { $_ ? ( $_ ) : () } @list; return join(", ", @list ); } sub rewrite_alternatives { my $str = shift; my @list = map( rewrite_item($_), split( /\s*\|\s*/, $str )); # if any of the alternatives became empty (because of @removedeps), # the complete dependency should be removed @list = (); for my $item (split( /\s*\|\s*/, $str )) { $item = rewrite_item($item); return () if not $item; push @list, $item } return join( " | ", @list ); } sub rewrite_item { my $str = shift; $str =~ /^([^ (]+)/; my $name = $1; return () if grep { $_ eq $name } @removedeps; return $str if grep { $_ eq $name } @keepdeps; $str =~ s/^([^ (]+)/$name-$arch-cross/; return $str; } sub check_exclude { foreach $package ( @ARGV ) { if ($package =~ /^\-X/) { $exclude = 1; next; } if (($exclude == 1) && ($package !~ /^\-/) && (!defined $builds{$package})) { push @removedeps, $package; next; } $builds{"$package"}++; } $str = join(' ', @removedeps); $msg = sprintf (_g("Excluding: %s\n"), $str); print wrap('','', $msg) if ($verbose >= 2); } =head1 Conversion process There is no safe way for dpkg-cross to mangle certain files in -dev packages, particularly files in F or to determine precisely which of these files could be parsed and which cannot. Special cases do not help - dpkg-cross already has too many of those. It is not safe to leave files in the package nor is it safe to move files into arbitrary locations when there is no reliable and standardised way to determine the usefulness of a particular kind of file. Package specific config scripts cannot be supported and even build-system specific ones are not necessarily going to work without a lot of ongoing maintenance. Therefore, C is very restrictive on which files are retained in the -cross package. =head2 Files to be converted All files in /usr/include/* Also /usr/src and /usr/lib are searched for includes - files with .h, .hh, .hpp extensions (case insensitive). Library files - *.so* and *.a and *.o files from /lib and /usr/lib (and all the multilib eqivalents (lib64, lib32, libo32, libhf, libx32 etc). Other library files are not copied. *.la files in library directories are also copied, and library and paths are modified there. Same for /usr/lib/pkgconfig/*.pc files. Symlinks are copied (and modified appropriately) if their destination is copied. Also, symlinks to non-existing shared libraries are copied (this is common case for libdevel packages) Directories are created only to hold some files or symlinks. No empty directories are copied. =head1 Multiarch behaviour By default does nothing with packages from Debian which already support Multi-Arch - the package is simply copied to the current work directory, if it does not already exist. Any package containing a Multi-Arch: field in DEBIAN/control is skipped in this manner. --convert-multiarch can be specified to instead force the generation of a --cross package with the files moved into the conventional dpkg-cross locations. The Multiarch spec ensures that multiarch packages will only be available from Debian mirrors once dpkg itself is capable of installing the packages and installing a Multiarch package means being able to install a 32bit multiarch package alongside a 64bit multiarch package. Installing an armel multiarch package alongside an x86 multiarch package is no different to 32bit vs 64bit. (What changes is how the multiarch package itself handles the header files and pkg-config files.) =cut dpkg-cross-2.6.13ubuntu1/debian/0000775000000000000000000000000012524520475013323 5ustar dpkg-cross-2.6.13ubuntu1/debian/prerm0000664000000000000000000000252511543552662014402 0ustar #! /bin/sh # prerm script for dpkg-cross # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `remove' # * `upgrade' # * `failed-upgrade' # * `remove' `in-favour' # * `deconfigure' `in-favour' # `removing' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in upgrade) # Move dpkg-cross's files from /etc/dpkg in /etc/dpkg-cross directory. # Do this in preinst, not postinst, to make dpkg conffile handling # to work as expected. Needed until Etch becomes oldstable. if dpkg --compare-versions "$2" lt "1.24"; then mkdir -p /etc/dpkg mv -f /etc/dpkg-cross/cross-compile* /etc/dpkg-cross/cross-config* \ /etc/dpkg-cross/crosstools* /etc/dpkg/. 2>/dev/null || true rmdir /etc/dpkg-cross 2>/dev/null || true fi ;; remove|deconfigure|failed-upgrade) ;; *) echo "prerm called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 dpkg-cross-2.6.13ubuntu1/debian/compat0000664000000000000000000000000211543552662014524 0ustar 5 dpkg-cross-2.6.13ubuntu1/debian/dpkg-cross.templates0000664000000000000000000000101711477756765017341 0ustar Template: dpkg-cross/default-arch Type: select # Translators: "None" here refers to "architecture" #flag:translate:1 __Choices: None, alpha, amd64, arm, armeb, armel, armhf, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc Default: None _Description: Default cross-building architecture: If this machine is typically cross-building for one main architecture, you can select that architecture here to save specifying it again when running dpkg-cross, apt-cross or emdebian-tools. Select 'None' to have no default. dpkg-cross-2.6.13ubuntu1/debian/README.debian0000664000000000000000000002224611543552662015435 0ustar dpkg-cross 2.0.0 ================ dpkg-cross 2.0.0 prepares foreign libraries for use in cross-compiling, making the shared objects and devel headers available directly from .deb files, e.g. downloaded from Debian mirrors using apt-cross. dpkg-cross 2.3.3 marks another stage in the migration of dpkg-cross into dpkg and dpkg-dev - only the essential functionality now remains: - A config file, /etc/dpkg-cross/cross-compile, for defining the default cross-building architecture. Support for custom directories and package-specific environment variables is likely to be removed before inclusion of dpkg-cross into dpkg. - Config files /etc/dpkg-cross/cross-config.*, for defining some autoconf values (Linux-specific and architecture-specific) Removed in 2.3.3: - gccross which remaps PATH during the build to locate the shared objects and headers installed using dpkg-cross. - buildcross which enhances 'dpkg-buildpackage -a' (without needing a diversion) and provides access to gccross via a temporary directory of symlinks. Removed in 2.0.0: The old dpkg-buildpackage and dpkg-shlibdeps diversions have been removed, along with the customised versions of objcopy, objdump and strip due to the new dependency on binutils-multiarch. 1) Prerequisites ---------------- For doing cross compiling, you obviously need a cross compiler :-) This is not supplied by dpkg-cross, you have to install one (e.g. from Emdebian) or build it yourself (e.g. using 'emchain' from emdebian-tools). There are also usually no cross compilers as Debian packages, since there are numerous combinations of host and target architectures and to handle all these in the gcc and binutils packages would be tedious. It is convenient to have binutils as multi-architectural and dpkg-cross 2.0.0 ensures this is available by depending on binutils-multiarch. Just type size, objdump, or whatever you like, without caring about the architecture... 2) dpkg-cross ------------- dpkg-cross doesn't do any cross compiling itself, it addresses another problem (you'd encounter if you wouldn't have dpkg-cross :-). For cross compiling, you need also libraries and their accompanying headers for the target architecture. If you're cross compiling Debian packages, all you need is available as Debian packages, but you can't simply install those packages on your compile host. dpkg refuses to do so, because of architecture mismatch. Ok, you could install everything on a host with the "correct" architecture and copy it back, but that's a lot of work. Or you could use dpkg-deb --fsys-tarfile to get your hands on the files, but that also involves a lot of moving files around... dpkg-cross does that dirty jobs for you. A word on directory layout: The cross compiling library directory is simply only one. This means, you don't have separate dirs like /lib, /usr/lib, /usr/X11R6/lib, ... where to look for libraries. dpkg-cross calls this dir $(CROSSLIB), and it could be e.g. /usr/local/m68k-linux/lib. There's also only one include directory. Eeeh, wait, you say: Why do I need different headers for cross compiling at all? Aren't they the same as the headers for the native system, which I have installed already? Basically, you're right. But my experience tells me, that there *are* differences, where you don't expect them... I'd say, you're just more on the safe side if you have the real headers for your target architecture in use. Having a separate set of headers also allows you to install/remove native and cross compiling library packages completely independently. The conversion works roughly as follows: dpkg-cross looks in the package for files in /lib, /usr/lib, /usr/X11R6/lib, /usr/include, and /usr/X11R6/include. Those are unpacked to a temporary directory, renamed to their final position in the filesystem hierarchy (/usr/local/m68k-linux), and a new package is built from the temp dir. For the library directories, only files directly in these directories are considered, subdirectories are ignored. Libraries and other linker auxiliary files (e.g. crt1.o) reside directly in the dir, not below. But for the include directories, subdirectories are of course not ignored. dpkg-cross moves all those files into $(CROSSLIB) or $(CROSSINC), resp., depending on the kind of their source directory. One complication are just some symlinks contain in some packages. E.g. libc5-dev contains a symlink /usr/lib/libc.so -> /lib/libc.so.5.x.y. This works for the native system, but not for cross compiling. dpkg-cross tries to handles such situations, but there are chances that more symlink problems can arise in future I haven't thought of... You've been warned :-) The control data of the package (package name, description, ...) are modified accordingly. The package name is rewritten to "--cross". Most interesting here is how dependencies are handled: For example, most -dev packages (containing headers) depend on the shared lib package of the same version. For this, the name of the depended-on packages also have the "-cross" suffix appended. This works smoothly in most cases. Just some dependencies are always left out, which don't fit the scheme above and aren't necessary for cross-compiling (gcc and binutils). Pre-Depends are changed to a simple Depends, and Conflicts, Provides, and Replaces are handled the same way as Depends. Recommends and Suggests are left out completely. The section is always changed to 'devel', and the priority to 'extra'. All other meta-files in Debian packages (postinst, ...) are left out, too, except the shlibs files, which are needed later for dpkg-shlibdeps. BTW, you usually have to install both, the runtime lib package and the accompanying -dev developer's package. A runtime-only kit isn't very useful for a cross-compiling environment :-) dpkg-cross also has a conventient operating mode for updating existing cross installations. With the -u option, it scans all directories given as arguments for .deb packages (of the target architecture), that are already installed as cross packages, and where the version is newer than the installed version. After that, all the found packages are installed, as if you had given their names to dpkg-cross -i. dpkg-cross --query (or -Q) does the same, but just prints the list of available updates, and does not install them. To download .deb files for use with dpkg-cross, including passing them directly to dpkg-cross for installation, see apt-cross. 3) dpkg-buildpackage -------------------- Since dpkg-cross 2.0.0 and dpkg-dev 1.15, dpkg-buildpackage is cross-build aware but does not use either buildcross or gccross. dpkg-cross 2.3.3 migrates gccross into emdebian-tools under the 'X-Build-Cross-Libtool: yes' opt-in wrapper in debian/xcontrol. binutils-multiarch takes care of dh_shlibs with one extension that dpkg-shlibdeps from dpkg-dev also knows where to look for the cross headers and symbols from dpkg-cross. In this way, the cross-compiling code is centred in dpkg-cross without dpkg-dev having to depend on dpkg-cross to be able to cross-compile. 3.1) Support for Packages using autoconf ........................................ There are some packages that use GNU autoconf generated configure scripts. Part of the build process is to run configure with certain arguments. Though configure is basically well prepared for cross compiling, there may be some tests that fail for that reason. Specifically, configure will not be able to run any test programs, because they're not compiled for the build host architecture. This usually results in "cannot run test program when cross compiling" error messages from configure. To overcome this limitation, dpkg-cross uses the site file feature provided by configure. If the environment variable CONFIG_SITE is set, configure reads this file (a shell script) before loading config.cache. 4) /etc/dpkg-cross/cross-config.* --------------------------------- These files define some (shell) variables for configure, that cannot be determined in a cross compiling environment. If they are not be defined here, configure would either use a conservative default, or abort with an error message. Defining the values in question looks to configure as they would have been cached in a previous run, so the corresponding test needs not be run. Since supplying fixed answers for questions that configure asks is against its purpose, really only those values should be defined that cannot be detemined when cross compiling. This group again can be split into two subgroups: Linux-specific values (the target is always a Linux system, since we're building Debian packages), and values specific to the target architecture. Therefore, there are actually several cross-config files: - cross-config.$(ARCH): This family of files records values specific to the target architecture, like ac_cv_c_bigendian or ac_cv_sizeof_long (could be 8 on 64-bit systems). The dpkg-cross package supplies examples for these files, which already contain some common values, determined during the development of Emdebian. See http://wiki.debian.org/EmdebianGuide and 'emcache' from emdebian-tools for support in adding or modifying cached values. Roman Hodek Thu, 29 Oct 1998 Updated: Neil Williams , 2008. dpkg-cross-2.6.13ubuntu1/debian/dpkg-cross.config0000664000000000000000000000045511021532265016561 0ustar #!/usr/bin/perl -w use Debconf::Client::ConfModule qw(:all); version("2.0"); my $capb=capb("backup"); #debug #purge(); #fset("dpkg-cross/default-arch", "seen", "false"); beginblock(); title("Default cross-build architecture selection"); input("medium", "dpkg-cross/default-arch"); endblock(); go(); dpkg-cross-2.6.13ubuntu1/debian/po/0000775000000000000000000000000012461736672013751 5ustar dpkg-cross-2.6.13ubuntu1/debian/po/templates.pot0000664000000000000000000000222210562325174016460 0ustar # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: debian-embedded@lists.debian.org\n" "POT-Creation-Date: 2007-02-07 10:26+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #. Type: select #. Choices #. Translators: "None" here refers to "architecture" #: ../dpkg-cross.templates:1001 msgid "None" msgstr "" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "Default cross-building architecture:" msgstr "" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "" "If this machine is typically cross-building for one main architecture, you " "can select that architecture here to save specifying it again when running " "dpkg-cross, apt-cross or emdebian-tools. Select 'None' to have no default." msgstr "" dpkg-cross-2.6.13ubuntu1/debian/po/sv.po0000664000000000000000000000310111477765421014734 0ustar # translation of dpkg-cross_sv.po to Swedish # Copyright (C) 2008 # This file is distributed under the same license as the dpkg-cross package. # # Martin Ågren , 2008. msgid "" msgstr "" "Project-Id-Version: dpkg-cross_sv\n" "Report-Msgid-Bugs-To: debian-embedded@lists.debian.org\n" "POT-Creation-Date: 2007-02-07 10:26+0000\n" "PO-Revision-Date: 2008-10-12 22:30+0200\n" "Last-Translator: Martin Ågren \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. Type: select #. Choices #. Translators: "None" here refers to "architecture" #: ../dpkg-cross.templates:1001 msgid "None" msgstr "Ingen" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "Default cross-building architecture:" msgstr "Standardarkitektur för krossbyggnation:" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "" "If this machine is typically cross-building for one main architecture, you " "can select that architecture here to save specifying it again when running " "dpkg-cross, apt-cross or emdebian-tools. Select 'None' to have no default." msgstr "" "Om den här maskinen typiskt används för att bygga för en huvudarkitektur, " "kan du välja den arkitekturen här för att slippa ange den igen när du kör " "dpkg-cross, apt-cross eller emdebian-tools. Välj 'Ingen' för att inte ha " "något standardval." dpkg-cross-2.6.13ubuntu1/debian/po/pt_BR.po0000664000000000000000000000307211735631550015311 0ustar # Debconf translation of dpkg-cross # Copyright (C) 2011 dpkg-cross' COPYRIGHT HOLDER # This file is distributed under the same license as the dpkg-cross package. # Marco Juliano e Silva , 2011. # # msgid "" msgstr "" "Project-Id-Version: dpkg-cross\n" "Report-Msgid-Bugs-To: debian-embedded@lists.debian.org\n" "POT-Creation-Date: 2007-02-07 10:26+0000\n" "PO-Revision-Date: 2011-11-21 21:34-0200\n" "Last-Translator: Marco Juliano e Silva \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: select #. Choices #. Translators: "None" here refers to "architecture" #: ../dpkg-cross.templates:1001 msgid "None" msgstr "Nenhuma" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "Default cross-building architecture:" msgstr "Arquitetura cross-building padrão:" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "" "If this machine is typically cross-building for one main architecture, you " "can select that architecture here to save specifying it again when running " "dpkg-cross, apt-cross or emdebian-tools. Select 'None' to have no default." msgstr "" "Se esta máquina faz tipicamente cross-building para uma arquitetura " "principal, você pode selecionar essa arquitetura aqui, para não ter que " "especificar novamente quando estiver rodando dpkg-cross, apt-cross ou " "emdebian-tools. Selecione 'Nenhuma' para não ter padrão." dpkg-cross-2.6.13ubuntu1/debian/po/da.po0000664000000000000000000000274311735622657014703 0ustar # Danish translation dpkg-cross. # Copyright (C) 2012 dpkg-cross & Joe Hansen. # This file is distributed under the same license as the dpkg-cross package. # Joe Hansen , 2012. # msgid "" msgstr "" "Project-Id-Version: dpkg-cross\n" "Report-Msgid-Bugs-To: debian-embedded@lists.debian.org\n" "POT-Creation-Date: 2007-02-07 10:26+0000\n" "PO-Revision-Date: 2012-03-31 17:30+01:00\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: select #. Choices #. Translators: "None" here refers to "architecture" #: ../dpkg-cross.templates:1001 msgid "None" msgstr "Ingen" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "Default cross-building architecture:" msgstr "Standardarkitektur for krydsbygning:" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "" "If this machine is typically cross-building for one main architecture, you " "can select that architecture here to save specifying it again when running " "dpkg-cross, apt-cross or emdebian-tools. Select 'None' to have no default." msgstr "" "Hvis denne maskine typisk krydsbygger for en hovedarkitektur, så kan du " "vælge den arkitektur her for at spare specificeringen af den igen, når du " "kører dpkg-cross, apt-cross eller emdebian-tools. Vælg »Ingen« for ikke at " "have en standard." dpkg-cross-2.6.13ubuntu1/debian/po/nl.po0000664000000000000000000000305711477765376014740 0ustar # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: dpkg-cross\n" "Report-Msgid-Bugs-To: debian-embedded@lists.debian.org\n" "POT-Creation-Date: 2007-02-07 10:26+0000\n" "PO-Revision-Date: 2007-03-09 18:38+0100\n" "Last-Translator: Bart Cornelis \n" "Language-Team: debian-l10n-dutch \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Dutch\n" #. Type: select #. Choices #. Translators: "None" here refers to "architecture" #: ../dpkg-cross.templates:1001 msgid "None" msgstr "Geen" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "Default cross-building architecture:" msgstr "Architectuur waarvoor standaard te cross-builden:" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "" "If this machine is typically cross-building for one main architecture, you " "can select that architecture here to save specifying it again when running " "dpkg-cross, apt-cross or emdebian-tools. Select 'None' to have no default." msgstr "" "Als deze machine meestal gebruikt wordt om te 'cross-builden' naar één " "architectuur kunt u deze hier selecteren zodat u dit niet bij iedere aanroep " "van dpkg-cross, apt-cross en emdebian-tools dient te doen. Selecteer 'Geen' " "als u geen standaard-architectuur wilt instellen." dpkg-cross-2.6.13ubuntu1/debian/po/ka.po0000664000000000000000000000371211477765373014715 0ustar # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: 2.3.0\n" "Report-Msgid-Bugs-To: debian-embedded@lists.debian.org\n" "POT-Creation-Date: 2007-02-07 10:26+0000\n" "PO-Revision-Date: 2008-10-12 17:11+0400\n" "Last-Translator: Aiet Kolkhi \n" "Language-Team: Georgian \n" "Language: ka\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: select #. Choices #. Translators: "None" here refers to "architecture" #: ../dpkg-cross.templates:1001 msgid "None" msgstr "არაფერი" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "Default cross-building architecture:" msgstr "cross-building-ის სტანდარტული არქიტექტურა:" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "" "If this machine is typically cross-building for one main architecture, you " "can select that architecture here to save specifying it again when running " "dpkg-cross, apt-cross or emdebian-tools. Select 'None' to have no default." msgstr "" "თუ ეს კომპიუტერი ძირითადად ერთ მთავარ არქიტექტურაზე cross-building-ისათვის " "გამოიყენება, შეგიძლიათ ამოირჩიოთ იგი აქ, რათა ყოველ ჯერზე მითითება აღარ " "მოგიწიოთ dpkg-cross, apt-cross ან emdebian-tools ბრძანებების გაშვებისას. " "ამოირჩიეთ „არაფერი“, თუ არ გსურთ ნაგულისხმევად რომელიმეს დაყენება." dpkg-cross-2.6.13ubuntu1/debian/po/ja.po0000664000000000000000000000320511477765370014706 0ustar # Japanese debconf templates translation for dpkg-cross. # Copyright (C) 2007 Noritada Kobayashi # This file is distributed under the same license as the dpkg-cross package. # msgid "" msgstr "" "Project-Id-Version: dpkg-cross (debconf) 1.35\n" "Report-Msgid-Bugs-To: debian-embedded@lists.debian.org\n" "POT-Creation-Date: 2007-02-07 10:26+0000\n" "PO-Revision-Date: 2007-03-01 16:27+0900\n" "Last-Translator: Noritada Kobayashi \n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: select #. Choices #. Translators: "None" here refers to "architecture" #: ../dpkg-cross.templates:1001 msgid "None" msgstr "なし" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "Default cross-building architecture:" msgstr "デフォルトのクロスビルドアーキテクチャ:" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "" "If this machine is typically cross-building for one main architecture, you " "can select that architecture here to save specifying it again when running " "dpkg-cross, apt-cross or emdebian-tools. Select 'None' to have no default." msgstr "" "このマシンでクロスビルドするアーキテクチャが主に特定の 1 つに限られている場" "合、そのアーキテクチャをここで選択して、dpkg-cross や apt-cross、emdebian-" "tools を実行する際にあらためて指定せずに済むようにできます。デフォルトを与え" "ない場合は「なし」を選択してください。" dpkg-cross-2.6.13ubuntu1/debian/po/ru.po0000664000000000000000000000363311477765407014750 0ustar # translation of ru.po to Russian # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Yuri Kozlov , 2008. msgid "" msgstr "" "Project-Id-Version: ru\n" "Report-Msgid-Bugs-To: debian-embedded@lists.debian.org\n" "POT-Creation-Date: 2007-02-07 10:26+0000\n" "PO-Revision-Date: 2008-08-31 10:44+0400\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #. Type: select #. Choices #. Translators: "None" here refers to "architecture" #: ../dpkg-cross.templates:1001 msgid "None" msgstr "Нет предпочтений" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "Default cross-building architecture:" msgstr "Архитектура по умолчанию для перекрёстной сборки:" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "" "If this machine is typically cross-building for one main architecture, you " "can select that architecture here to save specifying it again when running " "dpkg-cross, apt-cross or emdebian-tools. Select 'None' to have no default." msgstr "" "Если эта машина обычно используется для сборки под одну основную " "архитектуру, то вы можете указать её, и это будет учтено при работе pkg-" "cross, apt-cross или emdebian-tools. Выберите 'Нет предпочтений', если " "машина используется для сборки под разные архитектуры." dpkg-cross-2.6.13ubuntu1/debian/po/pt.po0000664000000000000000000000313411477765402014734 0ustar # Portuguese translation for dpkg-cross debconf messages. # Copyright (C) 2007 Pedro Ribeiro # This file is distributed under the same license as the dpkg-cross package. # Pedro Ribeiro , 2007 # msgid "" msgstr "" "Project-Id-Version: dpkg-cross_1.38\n" "Report-Msgid-Bugs-To: debian-embedded@lists.debian.org\n" "POT-Creation-Date: 2007-02-07 10:26+0000\n" "PO-Revision-Date: 2007-06-28 19:03+0100\n" "Last-Translator: Pedro Ribeiro \n" "Language-Team: Portuguese \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: select #. Choices #. Translators: "None" here refers to "architecture" #: ../dpkg-cross.templates:1001 msgid "None" msgstr "Nenhuma" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "Default cross-building architecture:" msgstr "" "Arquitectura por omissão para a criação de pacotes para outra arquitectura:" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "" "If this machine is typically cross-building for one main architecture, you " "can select that architecture here to save specifying it again when running " "dpkg-cross, apt-cross or emdebian-tools. Select 'None' to have no default." msgstr "" "Se esta máquina é usada para a criação de pacotes para uma outra " "arquitectura específica, pode seleccioná-la aqui para evitar especificá-la " "novamente quando executar dpkg-cross, apt-cross ou emdebian-tools. Escolha " "'Nenhuma' para não ter arquitectura por omissão." dpkg-cross-2.6.13ubuntu1/debian/po/fr.po0000664000000000000000000000317711477765355014736 0ustar # translation of fr.po to French # Copyright (C) 2007 Free Software Foundation, Inc. # This file is distributed under the same license as the dpkg-cross package. # # Christian Perrier , 2007. msgid "" msgstr "" "Project-Id-Version: dpkg-cross\n" "Report-Msgid-Bugs-To: debian-embedded@lists.debian.org\n" "POT-Creation-Date: 2007-02-07 10:26+0000\n" "PO-Revision-Date: 2007-01-30 21:04+0100\n" "Last-Translator: Christian Perrier \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" #. Type: select #. Choices #. Translators: "None" here refers to "architecture" #: ../dpkg-cross.templates:1001 msgid "None" msgstr "Aucune" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "Default cross-building architecture:" msgstr "Architecture par défaut pour la compilation croisée :" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "" "If this machine is typically cross-building for one main architecture, you " "can select that architecture here to save specifying it again when running " "dpkg-cross, apt-cross or emdebian-tools. Select 'None' to have no default." msgstr "" "Si cette machine effectue des compilations croisées plus particulièrement " "pour une architecture donnée, vous pouvez choisir cette architecture afin " "d'éviter d'avoir à l'indiquer à l'exécution de dpkg-cross, apt-cross ou " "emdebian-tools. Si vous choisissez « Aucune », aucune architecture par " "défaut ne sera définie." dpkg-cross-2.6.13ubuntu1/debian/po/POTFILES.in0000664000000000000000000000006010554674103015511 0ustar [type: gettext/rfc822deb] dpkg-cross.templates dpkg-cross-2.6.13ubuntu1/debian/po/uk.po0000664000000000000000000000260011477765425014732 0ustar # Olexandr Kravchuk # # msgid "" msgstr "" "Project-Id-Version: 2.3.0\n" "Report-Msgid-Bugs-To: debian-embedded@lists.debian.org\n" "POT-Creation-Date: 2007-02-07 10:26+0000\n" "PO-Revision-Date: 2008-10-12 14:54+0300\n" "Last-Translator: Olexandr Kravchuk \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: select #. Choices #. Translators: "None" here refers to "architecture" #: ../dpkg-cross.templates:1001 msgid "None" msgstr "Ніякої" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "Default cross-building architecture:" msgstr "Архітектура за замовчуванням:" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "" "If this machine is typically cross-building for one main architecture, you " "can select that architecture here to save specifying it again when running " "dpkg-cross, apt-cross or emdebian-tools. Select 'None' to have no default." msgstr "" "Якщо це машина переважно використовується для крос-збірки наодну " "арахітектуру, то можна зробити, щоб це значення зберігалосьпри кожному " "запуску програми. Якщо ж ні, виберіть \"Ніякої\"." dpkg-cross-2.6.13ubuntu1/debian/po/de.po0000664000000000000000000000301511477765344014704 0ustar # Translation of dpkg-cross debconf templates to German # Copyright (C) Helge Kreutzmann , 2007. # This file is distributed under the same license as the dpkg-cross package. # msgid "" msgstr "" "Project-Id-Version: dpkg-cross 1.34\n" "Report-Msgid-Bugs-To: debian-embedded@lists.debian.org\n" "POT-Creation-Date: 2007-02-07 10:26+0000\n" "PO-Revision-Date: 2007-01-30 19:16+0100\n" "Last-Translator: Helge Kreutzmann \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Transfer-Encoding: 8bit\n" #. Type: select #. Choices #. Translators: "None" here refers to "architecture" #: ../dpkg-cross.templates:1001 msgid "None" msgstr "Keine" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "Default cross-building architecture:" msgstr "Standard Cross-Bau-Architektur:" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "" "If this machine is typically cross-building for one main architecture, you " "can select that architecture here to save specifying it again when running " "dpkg-cross, apt-cross or emdebian-tools. Select 'None' to have no default." msgstr "" "Falls diese Maschine typischerweise fr eine Hauptarchitektur (cross-)baut, " "knnen Sie diese Architektur hier auswhlen, damit Sie diese nicht erneut " "angeben mssen, wenn Sie dpkg-cross, apt-cross oder emdebian-tools " "ausfhren. Whlen Sie Keine fr die Standardeinstellung." dpkg-cross-2.6.13ubuntu1/debian/po/it.po0000664000000000000000000000322411477765364014734 0ustar # Italian (it) translation of debconf templates for dpkg-cross # Copyright (C) 2007 Free Software Foundation, Inc. # This file is distributed under the same license as the dpkg-cross package. # Luca Monducci , 2007. # msgid "" msgstr "" "Project-Id-Version: dpkg-cross 1.35 italian debconf templates\n" "Report-Msgid-Bugs-To: debian-embedded@lists.debian.org\n" "POT-Creation-Date: 2007-02-07 10:26+0000\n" "PO-Revision-Date: 2007-05-06 15:43+0200\n" "Last-Translator: Luca Monducci \n" "Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: select #. Choices #. Translators: "None" here refers to "architecture" #: ../dpkg-cross.templates:1001 msgid "None" msgstr "Nessuna" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "Default cross-building architecture:" msgstr "Architettura di cross-compilazione predefinita:" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "" "If this machine is typically cross-building for one main architecture, you " "can select that architecture here to save specifying it again when running " "dpkg-cross, apt-cross or emdebian-tools. Select 'None' to have no default." msgstr "" "Se su questa macchina si effettua tipicamente la cross-compilazione su una " "architettura in particolare, è possibile selezionare adesso quella " "architettura in modo da non doverla poi specificare ogni volta che si usa " "dpkg-cross, apt-cross o emdebian-tools. Selezionare \"Nessuna\" se non vi " "vuole avere una architettura predefinita." dpkg-cross-2.6.13ubuntu1/debian/po/es.po0000664000000000000000000000456011477765353014731 0ustar # dpkg-cross po-debconf translation to Spanish # Copyright (C) 2009 Software in the Public Interest # This file is distributed under the same license as the dpkg-cross package. # # Changes: # - Initial translation # Francisco Javier Cuadrado , 2009 # # Traductores, si no conocen el formato PO, merece la pena leer la # documentación de gettext, especialmente las secciones dedicadas a este # formato, por ejemplo ejecutando: # info -n '(gettext)PO Files' # info -n '(gettext)Header Entry' # # Equipo de traducción al español, por favor lean antes de traducir # los siguientes documentos: # # - El proyecto de traducción de Debian al español # http://www.debian.org/intl/spanish/ # especialmente las notas de traducción en # http://www.debian.org/intl/spanish/notas # # - La guía de traducción de po's de debconf: # /usr/share/doc/po-debconf/README-trans # o http://www.debian.org/intl/l10n/po-debconf/README-trans # msgid "" msgstr "" "Project-Id-Version: dpkg-cross 2.3.0.1\n" "Report-Msgid-Bugs-To: debian-embedded@lists.debian.org\n" "POT-Creation-Date: 2007-02-07 10:26+0000\n" "PO-Revision-Date: 2009-01-31 13:35+0100\n" "Last-Translator: Francisco Javier Cuadrado \n" "Language-Team: Debian l10n Spanish \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: select #. Choices #. Translators: "None" here refers to "architecture" #: ../dpkg-cross.templates:1001 msgid "None" msgstr "Ninguna" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "Default cross-building architecture:" msgstr "Arquitectura predeterminada para la compilación cruzada:" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "" "If this machine is typically cross-building for one main architecture, you " "can select that architecture here to save specifying it again when running " "dpkg-cross, apt-cross or emdebian-tools. Select 'None' to have no default." msgstr "" "Si esta máquina normalmente sólo realiza compilaciones cruzadas para una " "arquitectura principal, puede seleccionar esa arquitectura para ahorrarse el " "especificarla cada vez que ejecute «dpkg-cross», «apt-cross» o «emdebian-" "tools». Elija «ninguna» si no tiene una arquitectura predeterminada." dpkg-cross-2.6.13ubuntu1/debian/po/cs.po0000664000000000000000000000302211477765341014714 0ustar # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: dpkg-cross\n" "Report-Msgid-Bugs-To: debian-embedded@lists.debian.org\n" "POT-Creation-Date: 2007-02-07 10:26+0000\n" "PO-Revision-Date: 2007-01-30 22:12+0100\n" "Last-Translator: Miroslav Kure \n" "Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: select #. Choices #. Translators: "None" here refers to "architecture" #: ../dpkg-cross.templates:1001 msgid "None" msgstr "Žádná" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "Default cross-building architecture:" msgstr "Výchozí architektura pro křížovou kompilaci:" #. Type: select #. Description #: ../dpkg-cross.templates:1002 msgid "" "If this machine is typically cross-building for one main architecture, you " "can select that architecture here to save specifying it again when running " "dpkg-cross, apt-cross or emdebian-tools. Select 'None' to have no default." msgstr "" "Pokud tento počítač většinou používáte pro křížovou kompilaci pro jednu " "konkrétní architekturu, můžete ji zde zadat a ušetřit si psaní při spouštění " "dpkg-cross, apt-cross nebo emdebian-tools. Jestliže nechcete zadávat výchozí " "architekturu, zvolte \"Žádná\"." dpkg-cross-2.6.13ubuntu1/debian/libdebian-dpkgcross-perl.install0000664000000000000000000000021711074207140021547 0ustar Debian/DpkgCross.pm ./usr/share/perl5/Debian/ Debian::DpkgCross.3 ./usr/share/man/man3/ config/archtable.default ./etc/dpkg-cross/archtable.d/ dpkg-cross-2.6.13ubuntu1/debian/dpkg-cross.install0000664000000000000000000000032612063343645016770 0ustar dpkg-cross ./usr/bin/ config/cross-config.* ./etc/dpkg-cross/ config/cmake/* ./etc/dpkg-cross/cmake/ config/qmake/* ./etc/dpkg-cross/qmake/ cross-compile.sample ./etc/dpkg-cross/ dpkg-cross.1 ./usr/share/man/man1/ dpkg-cross-2.6.13ubuntu1/debian/copyright0000664000000000000000000000263311600665572015264 0ustar This package was written by Roman Hodek on Tue, 4 Feb 1997 18:39:32 +0100. Overtake maintenance by David Schleef on Fri, 28 Feb 2003 15:33:01 -0800. Switched to CDBS (Neil Williams ) on Wed, 25 Aug 2007 20:12:00 +0100 Contributing Authors: Roman Hodek Colin Watson David Schleef Nikita Youshchenko Raphael Bossek Neil Williams Copyright: Copyright 1997-2000 Roman Hodek Copyright 2000-2002 Colin Watson Copyright 2002-2004 David Schleef Copyright 2004 Nikita Youshchenko Copyright 2004 Raphael Bossek Copyright 2007 Neil Williams Copyright (c) 2011 Wookey This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. On Debian GNU/Linux systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. The Debian packaging is Copyright 2007-2009, Neil Williams and is licensed under the GPL, see above. dpkg-cross-2.6.13ubuntu1/debian/changelog0000664000000000000000000013471712524520475015212 0ustar dpkg-cross (2.6.13ubuntu1) wily; urgency=medium * Fix fix_ldscript to cover all multiarch and non-multiarch cases. -- Adam Conrad Tue, 12 May 2015 18:56:04 -0600 dpkg-cross (2.6.13) experimental; urgency=medium * Fix behaviour where DEB_HOST_GNU_TYPE != DEB_HOST_MULTIARCH (e.g. i386) (Closes: 773266) * Merge Ubuntu dpkg-cross fixes: Handle datarootdir specially in .pc files: keep the original prefix Assume multiarch if encoutering a /usr/include/$crosstype/ file too. This fixes issues with arch-qualified include files being moved to doubly-qualified paths. Handle lines containing '${exec_prefix}/bin' specially in .pc files; these are normally development tools, so should keep the original (build arch) prefix. (For example, orbit_idl in ORBit-2.0.pc.) -- Wookey Fri, 23 Jan 2015 16:02:07 +0000 dpkg-cross (2.6.12) experimental; urgency=medium * Remove ac_cv_sizeof_off_t as supreceded by AC_SYS_LARGEFILE (Closes: 776010) * Support lib{hf,n32,sf,x32}. (Closes: 771497) * Ensure multilib ldscripts are fixed up. (Closes: 772045,649094) * Update uploaders list (Closes: 741476) * Include support for libo32 multilibs -- Wookey Thu, 22 Jan 2015 19:18:29 +0000 dpkg-cross (2.6.11) unstable; urgency=low * Upload changes from experimental to unstable. -- Neil Williams Fri, 24 May 2013 20:28:54 +0100 dpkg-cross (2.6.10) experimental; urgency=low * Fix include directories in cflags values of pkg-config files (Closes: #697695) -- Neil Williams Thu, 21 Mar 2013 17:42:37 +0000 dpkg-cross (2.6.9) experimental; urgency=low * Fix cmake integration use of variables and add explicit support for g++. (Closes: #695369) * Tell cmake about a cross pkg-config executable. (Closes: #695370) * Add qmake cross-building support. -- Neil Williams Sat, 08 Dec 2012 10:20:43 +0000 dpkg-cross (2.6.8) experimental; urgency=low * Add arm64 support, thanks to patch from Wookey, also adds more packages to the cross-config.cache and generalise some more common values. (Closes: #693730) * Target experimental. * Fix use of qw in list context for perl 5.14 -- Neil Williams Sat, 24 Nov 2012 21:10:05 +0000 dpkg-cross (2.6.7) unstable; urgency=low * Confine the postrm to only removing the config files originally installed by dpkg-cross (Closes: #681755) -- Neil Williams Wed, 25 Jul 2012 20:50:50 +0100 dpkg-cross (2.6.6) unstable; urgency=low * [INTL:da] Danish translation of the debconf templates (Closes: #666536) * Drop deprecated CDBS rule. Update standards version. * [INTL:pt_BR] Brazilian Portuguese debconf templates (Closes: #650385) -- Neil Williams Sat, 31 Mar 2012 17:40:33 +0100 dpkg-cross (2.6.5) unstable; urgency=low * Add support for cross-building perl modules, patch from steve.mcintyre@linaro.org (Closes: #632871) -- Neil Williams Tue, 19 Jul 2011 18:25:39 +0100 dpkg-cross (2.6.4) unstable; urgency=low * Add depends on liblocale-gettext-perl to libdebian-dpkgcross-perl. * Update VCS location to Emdebian SVN. -- Neil Williams Thu, 23 Jun 2011 17:37:46 +0100 dpkg-cross (2.6.3) unstable; urgency=low [ Neil Williams ] * Drop old apt-cross multiarch behaviour - outdated. [ Wookey ] * Add (interim) --convert-multiarch behaviour to cross even multiarch packages (Closes: #619400) * Drop X11R6 lib/include dirs as they are no longer present [ Neil Williams ] * Drop unsupported variables from config file * Correct the value for libIDL_cv_long_long_format in /etc/dpkg- cross/cross-config.cache. (Closes: #618488) * Add tclconfig.sh to the list of interesting files for cross-building. (Closes: #618490) * Fix some unitialised variables in rarely used -Q option dpkg-cross * Fix handling of arch-dependent include headers under multi-arch only support. -- Neil Williams Fri, 01 Apr 2011 19:54:09 +0100 dpkg-cross (2.6.2) unstable; urgency=low * Only suggest binutils-multiarch (relies on changes in debhelper >= 8.1.2) (Closes: #591542) -- Neil Williams Tue, 22 Feb 2011 13:00:18 +0000 dpkg-cross (2.6.1) unstable; urgency=low * Target unstable. * Update standards version (no changes) -- Neil Williams Mon, 07 Feb 2011 19:25:59 +0000 dpkg-cross (2.6.0) experimental; urgency=low * Add armhf support to cross-config (Closes: #605409) * Document file removal process (Closes: #599206) * Add translation support for runtime messages. * Move upload to experimental * Retain Section in converted package. (Closes: #592458) -- Neil Williams Wed, 08 Dec 2010 20:39:01 +0000 dpkg-cross (2.5.9) unstable; urgency=low * Downgrade binutils-multiarch to Recommends * Get dpkg-cross --version from dpkg-query. -- Neil Williams Mon, 07 Jun 2010 12:44:26 +0100 dpkg-cross (2.5.8) unstable; urgency=low * Ensure provides are rewritten for -cross mode. * Handle exclusions in the new Provides code. -- Neil Williams Sun, 25 Apr 2010 14:37:28 +0100 dpkg-cross (2.5.7) unstable; urgency=low * Append to any existing Provides field to avoid duplicate fields which now fail dpkg-deb parsing. (Closes: #578613) -- Neil Williams Thu, 22 Apr 2010 08:17:48 +0100 dpkg-cross (2.5.6) unstable; urgency=low * Implement transitionary support for Multi-Arch (Closes: #545464) * Allow for apt-cross to not be installed when checking list of multiarch packages (Closes: #566744) -- Neil Williams Tue, 09 Feb 2010 20:55:35 +0000 dpkg-cross (2.5.5) unstable; urgency=low * Ensure dependency_libs can handle quoting (Closes: #565295) * Add preliminary support for multiarch packages. * Incorporate some Ubuntu changes (thanks to Colin Watson) for parted and tcl support. -- Neil Williams Wed, 20 Jan 2010 12:25:44 +0000 dpkg-cross (2.5.4) unstable; urgency=low * Handle -dbg packages. -- Neil Williams Wed, 06 Jan 2010 18:53:17 +0000 dpkg-cross (2.5.3) unstable; urgency=low * Retain font metadata in /usr/share/fonts for xfonts-utils. * Add arch specific dlsearch_path config to remove rpath. (Closes: #484277) -- Neil Williams Thu, 02 Jul 2009 12:11:59 +0100 dpkg-cross (2.5.2) unstable; urgency=low * Update Vcs-Browser URL for alioth changes. (Closes: #528301) * Use /bin/bash for reportbug support script. (Closes: #530973) * Drop unused %crossprefixtable. -- Neil Williams Mon, 01 Jun 2009 16:16:11 +0100 dpkg-cross (2.5.1) unstable; urgency=low * Interim Emdebian release * Fix the source package identification, broken in 1.28. -- Neil Williams Sun, 29 Mar 2009 18:00:14 +0100 dpkg-cross (2.5.0) unstable; urgency=low * Fold Emdebian changes into Debian package. * Update standards version (no changes) * tidy up some lintian errors in debian/control and copyright. -- Neil Williams Tue, 17 Mar 2009 13:45:52 +0000 dpkg-cross (2.4.2) unstable; urgency=low * Oops - typo fix for %crossprefixtable. -- Neil Williams Mon, 09 Mar 2009 20:25:04 +0000 dpkg-cross (2.4.1) unstable; urgency=low * Fix typo when building 64bit libraries with dpkg-cross (Closes: #517076) * Remove legacy code from the module. -- Neil Williams Mon, 09 Mar 2009 17:47:47 +0000 dpkg-cross (2.4.0) unstable; urgency=low * Merge Emdebian releases into Debian. * Remove dependencies on outdated -dcv1 compatibility packages, retain Provides for now. (Closes: #514249) -- Neil Williams Sun, 15 Feb 2009 11:25:46 +0000 dpkg-cross (2.3.6) unstable; urgency=low * Fix cache support for packages with unusual AC_INIT calls. * Add cache support for mipsel. -- Neil Williams Tue, 10 Feb 2009 20:04:18 +0000 dpkg-cross (2.3.5) unstable; urgency=low * [INTL:es] Spanish debconf template translation for dpkg-cross (Closes: #514604) * Implement support for package-specific cache values using CONFIG_SITE and /etc/dpkg-cross/cross-config.d/$arch support. (Closes: #493180) -- Neil Williams Tue, 10 Feb 2009 16:53:25 +0000 dpkg-cross (2.3.4) unstable; urgency=low * Fix "dpkg-cross fails to provide correct .pc for libpthread-stubs0- dev" by marking pkgconfig files in /usr/share/ as 'useful'. (Closes: #506229) * Allow an exception so that dpkg-cross can handle symlinks to pkgconfig files. (Closes: #506956) * Debian/DpkgCross.pm :Add a note to endiannes function that dpkg- cross needs to be installed as well as the perl module in order for the function to retrieve the endianness data. * Add missing cache values for findutils to allow findutils to remove the cache file. (Closes: #513203) -- Neil Williams Tue, 27 Jan 2009 09:21:10 +0000 dpkg-cross (2.3.3) unstable; urgency=low * Migrate gccross to emdebian-tools * + to aid migration of dpkg-cross into dpkg and dpkg-dev * + to retain gccross support until all packages are fixed * + to implement support for marking all packages using gccross as buggy. * drop buildcross which is now implemented inside emdebuild if '[X-]Build-Cross-Libtool: yes' is used in debian/xcontrol * dpkg-cross : migrate manpage content to POD for compatibility with dpkg-dev * migrate default options into the module instead of the conffile * check for and remove dangling symlinks (Closes: #499292) by stopping the creation of symlinks for files that are not interesting. * remove obsolete files from CVS and source tarball * using pod2man, so drop docbook-to-man build-depends * Improve error checking in case value really is undefined * Add dynamic archtable settings to make it easier to support uClibc permutations: please support wrong architecture (Closes: #447427) * dpkg-cross : Remove cairo hack and finish simplifying the regexp lines to remove unnecessary escape characters. * debian/rules: final tweak to update from i18n update, clean up module man page -- Neil Williams Tue, 28 Oct 2008 16:42:35 +0000 dpkg-cross (2.3.2) unstable; urgency=low * Support package-specific cache values * config/cross-config.arm config/cross-config.armel : load the global variables before the previous values to retain the architecture- dependent values * config/cross-config.cache : drop orbit data (specialized support elsewhere) and reorganise blocks alphabetically * dpkg-cross : Implement support for generated cache data in /etc/dpkg-cross/cross-config.d/ and architecture-dependent sub directories * config/cross-config.cache : wrap cache values in package and package_name conditionals. Restrict loading of files in /etc/dpkg-cross/cross-config.d/ to files matching the package_name variable assigned within ./configure. * dpkg-cross : Support installing cmake files in -dev packages. * Adapt the experimental CMake example file for (hopefully) different Linux architectures * Add a few CMake tips to the dpkg-cross manpage -- Neil Williams Thu, 11 Sep 2008 21:05:10 +0100 dpkg-cross (2.3.1) unstable; urgency=low * Support collected cache values for system-wide comparisons -- Neil Williams Wed, 27 Aug 2008 23:23:55 +0100 dpkg-cross (2.3.0.1) unstable; urgency=low * [INTL:ru] Russian debconf templates translation (Closes: #497234) * [INTL:uk] Ukrainian debconf templates translation. * [INTL:ka] Georgian debconf templates translation. * [INTL:sv] po-debconf file for dpkg-cross (Closes: #502108) -- Neil Williams Wed, 22 Oct 2008 11:22:41 +0100 dpkg-cross (2.3.0) unstable; urgency=low * Same change as apt-cross in the buginfo.sh script: * bashism in /bin/sh script (Closes: #489567) * corrupted pkg-config data for libcairo-directfb (Closes: #483076) * -a amd64 should search /emul/ia32-linux (Closes: #463588) -- Neil Williams Tue, 15 Jul 2008 14:10:28 +0100 dpkg-cross (2.2.4) unstable; urgency=low * Debian release incorporating Emdebian changes * Restore po-debconf to Build-Depends (solves lintian warning) -- Neil Williams Thu, 26 Jun 2008 17:28:58 +0100 dpkg-cross (2.2.3) unstable; urgency=low * New Emdebian release. * Downgrade debconf question to priority medium. -- Neil Williams Wed, 04 Jun 2008 16:27:12 +0100 dpkg-cross (2.2.2) unstable; urgency=low * New Emdebian release * Support lib32/ for mips n32 toolchain support -- Neil Williams Fri, 30 May 2008 15:32:09 +0100 dpkg-cross (2.2.1) unstable; urgency=low * General support for querying endianness of an architecture. * Update standards version (no changes) * Add Cvs-CVS field to debian/control * Reinstate detect_arch for improved build test checks in emdebian- tools * get_endianness: new function for TDeb support -- Neil Williams Sun, 09 Mar 2008 14:27:00 +0000 dpkg-cross (2.2.0) unstable; urgency=low * Post remove script fails on purge (Closes: #466514) * fix_la_file in dpkg-cross does not properly match all dependencies (Closes: #440332) -- Neil Williams Tue, 19 Feb 2008 12:53:11 +0000 dpkg-cross (2.1.1) unstable; urgency=low * Fix typo in keep temp logic -- Neil Williams Fri, 07 Dec 2007 21:06:20 +0000 dpkg-cross (2.1.0) unstable; urgency=low * Support retaining temporary archives * Fix lintian warning over NEWS formatting * use Build-Depends-Indep * avoid possible bashism in postrm script -- Neil Williams Tue, 04 Dec 2007 21:02:30 +0000 dpkg-cross (2.0.1) unstable; urgency=low * support debconf-updatepo in debian/rules clean * Support misc:Depends for cleaner debconf dependency handling * Add a reportbug script for cross-compile configuration debugging * tie dpkg-cross to libdebian-dpkgcross-perl at the same version -- Neil Williams Tue, 30 Oct 2007 12:04:12 +0000 dpkg-cross (2.0.0) unstable; urgency=low * Replace the diversions * buildcross: new shell library to replace perl dpkg-buildpackage diversion * remove lintian overrides for previously diverted scripts * ChangeLog: close old file and use only the installed debian changelog * Remove old diversions when installing instead of removing * crosstools: removed * Merge dpkg-shlibdeps into dpkg (Closes: #283626) * replace cross-compile.example with cross-compile.sample * dpkg-cross should also handle /usr/lib/ldscripts (Closes: #401058) * shlibs must also search /usr/$libpath (Closes: #32340) * dpkg-buildpackage -S is confused by other-arch changes file. (Closes: #429555) * Debian/DpkgCross.pm: add new function convert_filename($) * NEWS, README.debian, README.cvs: Start the long goodbye - signal the intention to remove dpkg-cross after Lenny. * Missing a dependency on libfile-homedir-perl (Closes: #440043) * debconf dependency unsatisfiable with cdebconf (Closes: #441940) * Generate POD content and update man page for latest changes * Skip pre2 - set 2.0.0 for unstable due to changes in dpkg-dev 1.14.7 -- Neil Williams Mon, 08 Oct 2007 22:11:09 +0100 dpkg-cross (1.99+2.0.0pre1) experimental; urgency=low * refactoring for a 2.0.0 release. * config.common linux specific (Closes: #72405) * [Patch] Check dpkg-architecture before falling back to internal tables (Closes: #430507) * cross-config.common, cross-config.${arch_os} files (Closes: #284275) * broken CC_FOR_BUILD handling in diverted dpkg-buildpackage (Closes: #437507) * Migrate to CDBS * broken on anything but GNU/linux (Closes: #115247) -- Neil Williams Wed, 15 Aug 2007 07:20:26 +0100 dpkg-cross (1.39) unstable; urgency=low * [INTL:pt] Portuguese translation for debconf messages (Closes: #430991) * dpkg-cross diversion of dpkg-buildpackage does not support all options (Closes: #416437) * Fails to convert libc6-dev-ppc64_2.5-9_powerpc.deb due to symlink problem (Closes: #426333) -- Neil Williams Thu, 05 Jul 2007 22:34:24 +0100 dpkg-cross (1.38) unstable; urgency=low * [INTL:it] Italian debconf templates translation (Closes: #425260) * Implement new --exclude option to drop specified dependencies from the cross-built package, e.g. architecture-independent dependencies. -- Neil Williams Sun, 20 May 2007 15:36:30 +0100 dpkg-cross (1.37) unstable; urgency=low * add support for "cross" -dev packages for non-default libc (Closes: #422871) * migrate armel support to unstable. * [INTL:nl] Dutch po-debconf translation (Closes: #415522) * symlinks in linux-header packages are not converted (Closes: #379004) -- Neil Williams Wed, 09 May 2007 12:12:45 +0100 dpkg-cross (1.36) experimental; urgency=low [ Wookey ] * Add armel architecture (Closes: #414085) * Update docs to point at debian-embedded list [ Neil Williams ] * [INTL:ja] Japanese debconf templates translation (Closes: #412999) * Uploading to experimental due to Etch release and preliminary status of armel support. -- Neil Williams Wed, 14 Mar 2007 18:04:59 +0000 dpkg-cross (1.35) unstable; urgency=low * [l10n] Czech translation of dpkg-cross debconf messages (Closes: #409086) * [INTL:de] initial German debconf translation (Closes: #409203) * [INTL:fr] French debconf translation (Closes: #409294) * Should split out "Choices" in debconf templates to make translators work easier (Closes: #409146) -- Neil Williams Sat, 10 Feb 2007 11:34:39 +0000 dpkg-cross (1.34) unstable; urgency=low * Fix: Failed to preconfigure: "no config file: /etc/dpkg-cross/cross- compile.sample"... (Closes: #408354) -- Neil Williams Sat, 27 Jan 2007 18:54:03 +0000 dpkg-cross (1.33) unstable; urgency=low * Implement debconf handler to set a default architecture for cross building. Can be overridden using ~/.dpkg-cross/cross-compile or on the command line. * Add myself as new co-maintainer, as discussed on debian-embedded mailing list. -- Neil Williams Sun, 21 Jan 2007 13:14:18 +0000 dpkg-cross (1.32) unstable; urgency=low * Detect powerpc 64-bit binaries and select proper tools for those. -- Nikita V. Youshchenko Sun, 15 Oct 2006 15:16:28 +0400 dpkg-cross (1.31) unstable; urgency=low * Don't discard .so symlinks from library development packages. Fix by Alexander Shishkin . Closes: #388627. -- Nikita V. Youshchenko Fri, 22 Sep 2006 11:09:36 +0400 dpkg-cross (1.30) unstable; urgency=low * When converting packages, don't discard external symlinks if those point to objects under /usr/src/. Needed for linux-headers packages. Closes: #379004. * When converting packages, don't discard files under /usr/src, but move those to $crossdir/src/. Needed for linux-headers packages. Suggested by Marcus Better . * Added -nw option to dpkg-buildpackage wrapper, that disables usage of gccross. Closes: #373193. See log of that bug for details. -- Nikita V. Youshchenko Mon, 24 Jul 2006 17:08:49 +0400 dpkg-cross (1.29) unstable; urgency=low * Make usage of gccross wrapper more verbose (Closes: #374778). * Fixed a bug in converting package with non-empty Pre-Depends: field (Closes: #378930, #378931). * Safer way of dealing with temporary directories. -- Nikita V. Youshchenko Thu, 20 Jul 2006 10:50:01 +0400 dpkg-cross (1.28) unstable; urgency=low * Added tzdata to default 'removedeps' (request from NIIBE Yutaka ); also added gcc-4.1-base to default 'keepdeps'. * Set maintainer to Debian Embedded Group , set interested people as uploaders. * Set Standards-Version to 3.7.2, no changes needed. * Rased DH_COMPAT to 5, rased version in versioned build dependency on dephelper to 5. * Added debhelper also to Build-Depends:, not only Build-Depends-Indep, to fix lintian error. -- Nikita V. Youshchenko Thu, 18 May 2006 06:57:55 +0400 dpkg-cross (1.27) unstable; urgency=low * Fixes from Volker Grabsch : - fixed a typo in variable setting - added nm, ar, ranlib, windres to %std_tools, - added w32 lines to get_tool tables. -- Nikita V. Youshchenko Tue, 18 Apr 2006 10:54:37 +0400 dpkg-cross (1.26) unstable; urgency=low * Update default paths and prefixes, to match changes in debian toolchain. Mostly by adding '-gnu' here and there. * Now dpkg-cross adds additional provides-depends logic to generated -$arch-cross packages, to avoid -$arch-cross packages generated prior to path changes to satisfy deps of packages generated post those changes. * Updated list of dpkg-architecture variables to set when cross-compiling, to match current dpkg-architecture. * dpkg-shlibdeps: addded "elf64-x86-64" and "elf64-powerpc" to @crosslib64formats, as GOTO Masanori requested. * Added objdump and objcopy wrappers similar to strip wrapper. Seem to be needed by dh_strip calls from gcc-4.0 package builds. * Added armeb architecture support (Closes: #336080). * Fixed a typo in dpkg-buildpackage (Closes: #334282). * Added gcc-*-base to keepdeps in default /etc/dpkg-cross/cross-compile. * Removed any reference to unused 'crossinfo' variable. * Added cross-config.{arm,armeb}, created by Lennert Buytenhek . * If dpkg-deb -b fails, show it's output even if not verbose. * When merging .changes files, remove 'source' from arch field of the merged file name. See #322926 for details. * Set Maintainer to my debian.org e-mail. * Bumped Standards-Version to 3.6.2, no changes needed. -- Nikita V. Youshchenko Sat, 3 Dec 2005 23:39:29 +0300 dpkg-cross (1.25) unstable; urgency=low * Create md5sums files for -arch-cross packages. * Added /etc/dpkg-cross/cross-compile lines for glibc package as suggested by Jorik Jonker . * Included patch for cross-config.m32r from #284439. * Set umask earlier when converting packages; this may fix problem (that I could not reliably reproduse) with bad permissions of directories in converted packages if umask is restrictive. * Added patch from Alexandra N. Kossovsky that adds amd64 as supported target (Closes: #308945). -- Nikita V. Youshchenko Thu, 5 May 2005 23:33:41 +0400 dpkg-cross (1.24) unstable; urgency=low * Use /etc/dpkg-cross and ~/.dpkg-cross instead of /etc/dpkg and ~/.dpkg. * On upgrade from older versions, move dpkg-cross files from /etc/dpkg/ to /etc/dpkg-cross/, on downgrade to older versions do the reverse. * Moved gccross from /usr/bin to /usr/share/dpkg-cross, because this script is not intended to be implicitly called by user. * Added NEWS.Debian, with a note about moving conffiles. -- Nikita V. Youshchenko Wed, 23 Feb 2005 18:50:32 +0300 dpkg-cross (1.23) unstable; urgency=low * Don't sign changes file if dpkg-buildpackage.orig call failed. Closes: #294356. * Fixed package description started with capital letter. Thanks lintian. -- Nikita V. Youshchenko Wed, 9 Feb 2005 23:40:36 +0300 dpkg-cross (1.22) unstable; urgency=low * Become official maintainer, try 2. * Create temporary directories in a safe way. * Removed workarounds of ancient dpkg-buildpackage[.orig] bugs (versioned dependency on dpkg-dev should ensure recent version of dpkg-buildpackage.orig). * Always pass -uc to dpkg-buildpackage.orig, and call sign command from dpkg-buildpackage wrapper after possible merge of .changes files. Closes: #257627. -- Nikita V. Youshchenko Tue, 11 Jan 2005 00:25:45 +0300 dpkg-cross (1.21) unstable; urgency=low * Become official maintainer. * Add support for DPKGCROSSARCH variable to pass information about current target between tools (using ARCH causes problems with packages that use it for their own). * Changelogs of my 'intermediate releases': 1.20.6: * Add -uc to dpkg-buildpackage.orig call only if existing .changes file does not contain information for $arch. 1.20.5: * Instead of unsetting LD_LIBRARY_PATH, just clean it of paths that don't start with /usr/lib or /usr/share. This should avoid fakeroot breakage. 1.20.4: * Implemented 'unset' feature for configuration file (Closes: #246061). * Unset LD for e2fsprogs in default /etc/dpkg/cross-compile. 1.20.3: * When running external tools which output is parsed, set LC_ALL=C. Closes: #283804. * Remove usused sub getsoname from dpkg-shlibdeps. 1.20.2: * Unset LD_LIBRARY_PATH in strip and dpkg-shlibdeps. It is not needed, and could result into attempts to link non-native libraries into tools that are called. * In tool detection code, use 'file -L' to dereference symlinks. * Handle strip options with parameters in strip wrapper. * Don't try to call objdump on non-binaries in dpkg-shlibdeps. * Don't set STRIP variable to $(TARGET)-strip, we have strip wrapper now. * Remove example setting STRIP in default /etc/dpkg/cross-compile, because the example is no longer valid with strip wrapper. * Above items fix all 282020 issues. Closes: #282020. * Don't set cross names for 'ar' and 'ranlib' because these tools are actially architecture-independent, and additional vars break some builds. Closes: #283627. 1.20.1: * Applied patch from NIIBE Yutaka that adds support for m32r architecture (Closes: 280714). * Call dpkg-buildpackage.orig with -uc if .changes file merge is going to happen after package build (Closes: 257627). -- Nikita V. Youshchenko Thu, 6 Jan 2005 14:18:20 +0300 dpkg-cross (1.20) unstable; urgency=low By Nikita V. Youshchenko : * Moved Build-Depends into Build-Depends-Indep, abd cleaned up debian/rules a bit. * Move dpkg-cross.pl to /usr/share/perl5, and don't install it executable. * Mention /usr/share/common-licenses/GPL in debian/copyright. * Add lintian override file to stop lintian complains about no manual pages for commands that dpkg-cross package diverts. * Changed Standards-Version to 3.6.1 (after doing appropriate checks). By Raphael Bossek : * Typo in detection of recursive gccross calls fixed. * Gccross documentation updated. By Nikita V. Youshchenko : * When setting up temporary directory with gccross symlinks, link all names that look like available compilers for target. By Nikita V. Youshchenko : * Changed default crossbase to /usr. In fact, such default has been there in default /etc/dpkg/cross-compile for ages, but if that line was not used (e.g. because of use of user configuration file), crossbase happened to change to /usr/local. That is not consistent with cross-toolchain, so should be fixed. -- David Schleef Fri, 05 Nov 2004 16:08:53 -0800 dpkg-cross (1.19) unstable; urgency=low Changes by Nikita Youshchenko * An improved version of gccross is now used by default when cross-compiling debian packages. * Fixed cross-tool autodetection for m68k and s390x architecturs. -- David Schleef Wed, 06 Oct 2004 14:05:32 -0700 dpkg-cross (1.18) unstable; urgency=low Changes by Nikita Youshchenko * Added strip wrapper that tries to detect architectures of given binaries and call appropriate strip programs. Modified dpkg-buildpackage wrapper to add strip wrapper to PATH. Removed dh_strip wrapper and diversion of dh_strip (Closes: #265620). * Stop adding /usr/local/bin to path - user who needs it probably already has it. * Removed ancient dpkg-cross-convert - it is already 5 years old, and is probably not compatable with current dpkg-cross. * Note at the top of README.Debian that information there is outdated. * Fix a typo in dpkg-cross script that caused '-aarm' not work. * Depend on 'binutils' and on 'file' because scripts use programs provided by those packages. Changes by Raphael Bossek * Added gccross as wrapper for cross-compilers. * Fixed proceeding of /usr/(src|lib) directories with dpkg-cross. -- David Schleef Tue, 24 Aug 2004 18:35:30 -0700 dpkg-cross (1.17) unstable; urgency=low Changes done by Nikita Youshchenko * Divert dh_strip with a version that tries to use strip binary appropriate for cross-compiling. This in fact was in 1.16, but I forgot to add this to changelog. * Removed missed debugging code that caused dpkg-cross to print "FAIL" and exit if target-cpp is available. Closes: #259516. * Fixed a typo in dpkg-cross.pl that caused variable values to be lost. * Implemented support for lib64. Closes: #245835. -- David Schleef Thu, 15 Jul 2004 01:37:41 -0700 dpkg-cross (1.16) unstable; urgency=low Changes done by Raphael Bossek and Nikita Youshchenko * Stop using sed templates for the scripts - dpkg-cross.in renamed to dpkg-cross - dpkg-buildpackage.in renamed to dpkg-buildpackage - dpkg-shlibdeps.in renamed to dpkg-shlibdeps - dpkg-cross-convert.in renamed to dpkg-shlibdeps - common functions moved to dpkg-cross.pl - confinit, conf.sed, confsub removed - Makefile adopted * Fix dpkg-shlibdeps to work correctly if several binaries use same shared libraries * Fix typo in dpkg-cross -A option parsing * Update debian/* using latest dephelper template * Update copyright information in several files * Read ~/.dpkg/cross-compile instead of /etc/dpkg/cross-compile if the first file exists * New manual documentation based on DocBook SGML with some fixes of the man pages. * Updated GNU AutoTools environment. * Search for pkg-config through PKG_CONFIG_PATH fixed. -- David Schleef Thu, 24 Jun 2004 10:32:49 -0700 dpkg-cross (1.15) unstable; urgency=low Changes were all done by Nikita V. Youshchenko . Version numbers and changelog entries correspond to the packages hosted at his site, which is now completely merged. * dpkg-cross.in: create /usr/share/doc/XXX directory in converted packages, and put a readme file there. - now each converted package always has an unique file, so situation described in #231511 is cleanly impossible. Closes: #231511. * dpkg-cross.in: accept -A|--convert-anyway option, that will make dpkg-cross to convert package even it does not provide any files useful for cross-compilation. * dpkg-cross.1: document -A option. * dpkg-shlibdeps.in: honour SHLIBSLOCALFILE and SUBSTVARSFILE environment variables as default locations for shlibs.local and substvars files. 1.14.7 * dpkg-cross.in: rewrite dpkg-cross -b procedure, using different logic. Now it first completely unpacks source deb, and only then decides what files to move or modify. Now it should not loose asm/arch symlink when processing linux-kernel-headers. 1.14.6 * debian/rules: move commands from binary-arch to binary-indep (everything built is architecture-independent) * debian/rules: don't run dh_strip and dh_shlibdeps - both are useless for this package * Implemented enhanced addition variable setting control, after some discussion with EmDebian people. See cross-compile(5) for more information. Note that the new format of this file is completely backward-compatable. Example of usage for EmDebian added as a comment to the default /etc/dpkg/cross-compile file. * Removed zlib1g-arm-cross.deb that was forgotten in the build directory of 1.14.5 version. 1.14.5 * dpkg-shlibdeps.in: fix shlibs.local handling. Now it doesn't try to use dpkg --search to find a library from the package being built. Closes: #221646. * dpkg-cross.in: fail with appropriate message on attempt to convert already-converted package. 1.14.4 * dpkg-buildpackage.in: set PATH in environment, not in MAKEFLAGS. Closes: #139182. * dpkg-buildpackage.in: when merging changes file, merge also Binary: and Description: fields, to handle the case when different sets of binary packages are built for different architectures. Closes: #221285. 1.14.3 * dpkg-cross.in: try to use fakeroot when building a package as user, issue a warning if fakeroot is not available. Closes: #221993. * debian/control: suggest fakeroot. * dpkg-buildpackage.in: don't ignore -uc. Closes: #217547. 1.14.2 * Fix dpkg-shlibdeps wrapper to handle shlibs with 'libxxx-vvv.so' sonames (needed e.g. for libdb4.2) 1.14.1 * Added /etc/dpkg/cross-compile options to handle non-library dependences better (Closes: #228616). Changed the patch a bit to remove complete dependency if one of alternatives is removed. Example: libssl depends on debconf | debconf-2.0; debconf is obviously not needed for cross-compile environment setup, so debconf is in removedeps, and other alternatives for the dependency will be discarded. * Detect .so files that are ldscripts, and fix paths there (Closes: #229241). * Supress error message from find when there are no pkgconfig files in the package. * Keep symlinks in pkgconfig directory * Don't print tons of junk when moving header files * Allow Architecture: all packages to be converted. There is a rationale to convert them sometimes (e.g. x-dev package that contains only headers) * Don't fail if resulting package contains headers only - dpkg-cross is now capable to process linux-kernel-headers (Closes: #230595, #222168) * Remove unused files and directories from source package. This makes package almost 10 times smaller :). * Really print error message if source file for dpkg-cross -b can't be opened. -- David Schleef Fri, 11 Jun 2004 10:07:40 -0700 dpkg-cross (1.14) unstable; urgency=low * Taking over package. Never got a response from Roman (Closes: #211013) * Add better arch handling (may fix #72405, #115247) -- David Schleef Wed, 01 Oct 2003 13:58:19 -0700 dpkg-cross (1.13.2) unstable; urgency=low * Non-maintainer upload. * I'm intending to take over the package, as I haven't heard from the maintainer in over 6 weeks. * Add code to mangle pkgconfig files * debian/control: Add debhelper to build-depends * Add cross-config.${arch} files for a number of architectures (Closes: #127723) * Handle libtool .la files (Closes: #160687) * dpkg-cross.in: set umask, since 077 causes failures in dpkg-deb (Closes: #126321) * Change /usr/doc/ to /usr/share/doc (Closes: #79746) * dpkg-shlibdeps.in: Disabled arch check that fails on mips (Closes: #86808) -- David Schleef Fri, 28 Feb 2003 15:33:01 -0800 dpkg-cross (1.13.1) unstable; urgency=low * Non-maintainer upload. * Make /etc/dpkg/cross-config.mips a conffile (closes: #132202). -- Colin Watson Sat, 9 Feb 2002 13:21:31 +0000 dpkg-cross (1.13) unstable; urgency=low * Changed maintainer email address. * dpkg-cross.in: Set LC_ALL=C when calling tar, as we parse the error messages and expect them to be in English. -- Roman Hodek Tue, 5 Sep 2000 17:31:00 +0200 dpkg-cross (1.12) unstable; urgency=low * dpkg-cross: Added debianutils to @omit_depends, so that current libc6 can be converted and doesn't depend on a spurious debianutils-m68k-cross. -- Roman Hodek Thu, 2 Mar 2000 10:24:37 +0100 dpkg-cross (1.11) unstable; urgency=low * dpkg-shlibdeps: New option -c to use a different config file than /etc/dpkg/cross-compile. (Closes: #57937) -- Roman Hodek Mon, 14 Feb 2000 11:08:23 +0100 dpkg-cross (1.10) unstable; urgency=low * dpkg-shlibdeps: Fix thinko with new elf-format checking code (regexp for format overwrote $2). -- Roman Hodek Tue, 26 Oct 1999 16:25:47 +0200 dpkg-cross (1.9) unstable; urgency=low * dpkg-shlibdeps: Don't check for elf32-$arch in objdump output, but also allow elf64. (Closes: #48270) -- Roman Hodek Mon, 25 Oct 1999 13:56:34 +0200 dpkg-cross (1.8) unstable; urgency=low * dpkg-buildpackage: Another retval change...: If dpkg-buildpackage caught a signal, return signal value + 128. * dpkg-cross: when extracting dirs, from the input .deb's data.tar.gz, also use names starting with "./" (newer tar versions name files like this.) Closes: #48006 * dpkg-buildpackage wrapper: now supports signing-related options like current dpkg-buildpackage (-spgp, -sgpg, -k, -m). I.e., it also uses gpg if dpkg-buildpackage would. * FHS transition (Standards-Version 3.0.1) -- Roman Hodek Fri, 22 Oct 1999 14:17:32 +0200 dpkg-cross (1.7) unstable; urgency=low * cross-config.mips: new file contributed by Ulf Carlsson . * cross-config.linux: some additions also by Ulf. * dpkg-buildpackage: Hope preserving the exit status now really works and really closes: #41259 -- Roman Hodek Wed, 25 Aug 1999 10:04:33 +0200 dpkg-cross (1.6) unstable; urgency=low * New method for passing cross variables to Makefiles. They're not put into the environment anymore and MAKEFLAGS=-e is used to make read them. Instead, the variable definitions are appended to MAKEFLAGS itself. (The same mechanism is used my make to pass command line overrides to sub-makes.) The advantage is that MAKEFLAGS and thus the definitions are still under the control of make. The definitions can be changed if a Makefile calls make with more/different definitions on the command line. Also, there are no side effects anymore by other environment variables not under the control of dpkg-cross (e.g. the MANPATH problem, a CFLAGS exported by top-level Makefile overriding CFLAGS in sub-Makefiles). * cross-config.gnu: new file for GNU/Hurd OS. * cross-config.common: new file for stuff common to Linux and Hurd. * cross-config.common: now sets $host to avoid that configure runs config.guess, which fails if $CC is a cross compiler. * cross-config.{i386,m68k}: some more sizeof definitions. * cross-config.*, cross-compile.example: Add notice that personal additions should be mailed to me so that I can include them in future releases. * dpkg-cross: when building a cross package, don't omit symlinks that point to a directory. * dpkg-buildpackage: The wrapper now preserves the exit status of the original dpkg-buildpackage. Closes: #41259 -- Roman Hodek Tue, 10 Aug 1999 13:43:47 +0200 dpkg-cross (1.5) unstable; urgency=low * dpkg-buildpackage: Don't Read debian/changelog if only option is -h. closes: #37369. * Changed perl dependency to perl5|perl. * The dpkg-buildpackage now also sets the new environment variables DEB_HOST_{ARCH,GNU_CPU,GNU_OS,GNU_TYPE}. * Updated copyright file for new location /usr/share/common-licenses/GPL. * Updated Standards-Version to 3.0.0. -- Roman Hodek Mon, 5 Jul 1999 13:21:47 +0200 dpkg-cross (1.4) unstable; urgency=low * dpkg-shlibdeps: Fix error message when lib not found (was wrong path if $CROSSROOT set.) (Fixes: #36679) * dpkg-buildpackage: Call original dpkg-buildpackage via shell command "." instead of "source", because ash doesn't understand the latter. (Fixes: #36887) * dpkg-cross: When installing (or just converting) packages, have a special look at libc.so, which is no real lib but a linker script. It contains absolute paths, which need to be rewritten. * Updated Standards-Version to 2.5.0.0 (no changes). -- Roman Hodek Thu, 29 Apr 1999 14:21:01 +0200 dpkg-cross (1.3) unstable; urgency=low * Some changes to make dpkg-cross work for Hurd: There, cross compiling is usually done with a Hurd installation on the same disk (in another partition). * New config variable set -$(ARCH)= sets path of cross installation for a specific architecture. * In dpkg-shlibdeps, strip $crossroot (if set) from lib names, and look in the cross installation under $crossroot for files (shlibs.default, *.shlibs files, etc.) * In dpkg-buildpackage, set binutils env vars (LD, AR, ...) only if target CPU is different. Thanks to Santiago Vila for ideas and help in testing this. * Added Suggests: binutils-multiarch, since those are available as a Debian package now and are needed for many applications of dpkg-cross. * Add CXX to list of environment variables to change. * In the Makefile added dependencies of all scripts on confinit and confsub. -- Roman Hodek Tue, 10 Nov 1998 17:40:07 +0100 dpkg-cross (1.2) unstable; urgency=low * Also omit cpp in dependencies of cross packages. * New variable default_arch in /etc/dpkg/cross-compile. This can be used to avoid the -a option to dpkg-cross, if there is only one or one mainly used cross installation. -- Roman Hodek Wed, 14 Oct 1998 16:52:40 +0200 dpkg-cross (1.1) unstable; urgency=low * Remove #!/bin/sh from /etc/dpkg/cross-config.*, since Lintian complained about it. * Switch from debstd to debhelper. -- Roman Hodek Wed, 11 Mar 1998 15:32:06 +0100 dpkg-cross (1.0) unstable; urgency=low * Major reorganization of package installation (dpkg-cross), based on great idea by Joey Hess. (Fixes: #15725) dpkg-cross doesn't implement its own package management anymore, but uses dpkg for this. Therefore it converts to-be-installed packaged to *-arch-cross packages by moving files around and rewriting control infos. * New tool dpkg-cross-convert to convert old-style installations to new dpkg-based ones. * Little rewrites to dpkg-shlibdeps due to new installation scheme (now uses dpkg --search instead of own function, new location of shlibs files) * New options -v and -q to dpkg-cross (verbose/quiet) * New actions --update and --query for dpkg-cross: They update all installed packages if updates are available, or list those updates, resp. * Standards-Version: updated to 2.4.0.0 -- Roman Hodek Thu, 22 Jan 1998 16:27:29 +0100 dpkg-cross (0.6) unstable; urgency=low * In the dpkg-buildpackage wrapper, put $crossbin first into $PATH, so that cross compiling binaries can take precedence over native ones. (fixes: Bug #15726) -- Roman Hodek Wed, 10 Dec 1997 11:37:57 +0100 dpkg-cross (0.5) unstable; urgency=low * Make maintainer=CURRENTUSER work (the change for it was lost somehow) (fixes: Bug#15715) * Check for no options at all to dpkg-cross (fixes: Bug#15712) * Do not remove kernel headers (include/{linux,asm,scsi}) if those dirs are symlinks, i.e. if the user has removed the files coming with libc-dev and replaced them by symlinks into a current source. (Otherwise dpkg-cross would remove the files in the kernel source!) * Reject libc5 compability packages (cannot be handled (yet) by dpkg-cross). * Ignore the /usr/include/X11 symlink (provokes a tar error if xlib*-dev already installed). * Fix some typos and minor mistakes. -- Roman Hodek Tue, 9 Dec 1997 15:52:37 +0100 dpkg-cross (0.4) unstable; urgency=low * Fixed bug in dpkg-cross that made it blind for packages with a '.' in their name... * dpkg-cross -h now the same as dpkg-cross --help. * New option -l/--list to dpkg-cross, with similar functionality to dpkg -l (short listing of packages installed matching a pattern) * dpkg-cross option --list renamed to --listfiles for consistency with dpkg -- Roman Hodek Mon, 3 Nov 1997 15:22:34 +0100 dpkg-cross (0.3) unstable; urgency=low * On dpkg-cross -i, also ignore tar messages like "error exit delayed". * Fix typo ($dpkg_errs instead $tar_errs) in dpkg-cross.in * In dpkg-shlibdeps, change objdump call and method how to find needed libraries; the objdump in binutils-2.8 doesn't have the -k option (raw section contents) anymore, so use --private-headers instead and look for ELF NEEDED entries in the dynamic section. Also changed debian/README to reflect this change. * Add special handling for -m option (see README), to work around a bug in dpkg-buildpackage 1.4.0.17 -- Roman Hodek Thu, 19 Jun 1997 11:38:03 +0200 dpkg-cross (0.2) unstable; urgency=low * Fixes for packages using imake: * IMAKECPP is defined in the environment to $(ARCH)-linux-cpp, to pass correct architecture (via standard defines) to the imake templates. * USRLIBDIR is defined to $(CROSSLIB), otherwise libraries are not found or dependencies to them are wrong. * MANPATH is explicitly removed from the environment, because the same name is used in imake-generated Makefiles, and since we use make -e, the user's setting would override the standard definition, causing havoc when installing man pages :-) * Fixes for packages using GNU autoconf: * CONFIG_SITE is set to /etc/dpkg/cross-config.linux, which in turn includes an target-arch specific file. There, several values for configure are defined that cannot be determined in an cross compiling environment. -- Roman Hodek Wed, 16 Apr 1997 16:02:45 +0200 dpkg-cross (0.1) unstable; urgency=low * Initial Release. -- Roman Hodek Sun, 9 Feb 1997 00:52:50 +0100 Local variables: mode: debian-changelog End: dpkg-cross-2.6.13ubuntu1/debian/preinst0000664000000000000000000000226111543552662014736 0ustar #! /bin/sh # preinst script for dpkg-cross # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `install' # * `install' # * `upgrade' # * `abort-upgrade' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in install|upgrade) # Move dpkg-cross's files from /etc/dpkg in /etc/dpkg-cross directory. # Do this in preinst, not postinst, to make dpkg conffile handling # to work as expected. Needed until Etch becomes oldstable. if test -n "$2" && dpkg --compare-versions "$2" lt "1.24"; then mkdir -p /etc/dpkg-cross mv -f /etc/dpkg/cross-compile* /etc/dpkg/cross-config.* \ /etc/dpkg/crosstools* /etc/dpkg-cross/. 2>/dev/null || true fi ;; abort-upgrade) ;; *) echo "preinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 # vim:ts=4:et dpkg-cross-2.6.13ubuntu1/debian/postrm0000664000000000000000000000262412004046773014573 0ustar #! /bin/sh # postrm script for dpkg-cross # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `remove' # * `purge' # * `upgrade' # * `failed-upgrade' # * `abort-install' # * `abort-install' # * `abort-upgrade' # * `disappear' overwrit>r> # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in remove) ;; purge) rm -rf /etc/dpkg-cross/cross-config* rm -rf /etc/dpkg-cross/cmake/ rm -rf /etc/dpkg-cross/multiarch-cross.d/ rm -rf /etc/dpkg-cross/cross-compile.sample rm -rf /etc/dpkg-cross/cross-compile if [ "$1" = "purge" ] && [ -e /usr/share/debconf/confmodule ]; then # Source debconf library. . /usr/share/debconf/confmodule # Remove my changes to the db. db_purge fi ;; remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ;; *) echo "postrm called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 # vim:ts=4:et dpkg-cross-2.6.13ubuntu1/debian/control0000664000000000000000000000260712524520503014723 0ustar Source: dpkg-cross Section: utils Priority: extra Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Debian Embedded Group Uploaders: Neil Williams , Wookey Build-Depends: cdbs, debhelper (>> 5), po-debconf Standards-Version: 3.9.4 Homepage: http://dpkg-cross.alioth.debian.org/ Vcs-Browser: http://www.emdebian.org/trac/browser/current/host/trunk/dpkg-cross/trunk/ Vcs-SVN: http://www.emdebian.org/svn/current/host/trunk/dpkg-cross/trunk/ Package: dpkg-cross Architecture: all Depends: ${perl:Depends}, ${misc:Depends}, dpkg-dev (>= 1.14.7), libconfig-auto-perl, libdebian-dpkgcross-perl (= ${source:Version}) Recommends: fakeroot Suggests: binutils-multiarch Breaks: debhelper (<< 8.1.2~) Description: tools for cross compiling Debian packages dpkg-cross is a tool for installing libraries and headers from packages which have not been converted for Multi-Arch to support cross compiling. Package: libdebian-dpkgcross-perl Section: perl Architecture: all Depends: ${perl:Depends}, ${misc:Depends}, file, dpkg-dev (>> 1.14.6), libfile-temp-perl, libconfig-auto-perl, libfile-homedir-perl, liblocale-gettext-perl Description: functions to aid cross-compiling Debian packages Debian::DpkgCross is a module of perl functions to aid installing libraries and headers for cross compiling. dpkg-cross-2.6.13ubuntu1/debian/source/0000775000000000000000000000000012147740004014614 5ustar dpkg-cross-2.6.13ubuntu1/debian/source/format0000664000000000000000000000000411352513177016027 0ustar 1.0 dpkg-cross-2.6.13ubuntu1/debian/NEWS0000664000000000000000000001553411530734133014024 0ustar dpkg-cross (2.6.2) unstable; urgency=low debhelper (>= 8.1.2) now contains support for stripping cross built packages without needing binutils-multiarch. Therefore, binutils-multiarch is no longer necessary for cross-building but there may be situations where it may still be useful. . Note that binutils-multiarch is set to get larger as part of ongoing development within binutils-multiarch itself. -- Neil Williams Tue, 22 Feb 2011 13:04:56 +0000 dpkg-cross (2.3.3) unstable; urgency=low gccross and buildcross have been removed for easier migration into dpkg. gccross was already 'opt-in' via emdebian-tools and not used directly within dpkg-cross. This removes the last major block to removing dpkg-cross itself and implementing all support within dpkg (specifically dpkg-dev). . The opt-in is implemented via debian/xcontrol by adding a line: [X-]Build-Cross-Libtool: yes . Every package using the opt-in will be declared buggy in buildd.emdebian.org with a view to having a permanent fix in that package before the release of Debian Squeeze. In many cases, fixes to replace gccross will need patches to upstream code Support will be retained in emdebian-tools to assist with new packages but this is to remain an interim support step that should not be relied upon for a package in a stable Emdebian release after Emdebian 1.0. i.e. gccross is more legacy code that only exists in order to be replaced. -- Neil Williams Sun, 05 Oct 2008 10:23:26 +0100 dpkg-cross (1.99+2.0.0pre2) unstable; urgency=low This version of dpkg-cross has been extensively refactored and includes a new Perl module with a new API. . The dpkg-buildpackage and dpkg-shlibdeps diversions have been removed due to increased cross-building support in dpkg-dev. The customised versions of objcopy, objdump and strip have also been removed due to the new dependency on binutils-multiarch. . As dpkg-cross is merged gradually back into dpkg, parts of the old dpkg-cross will be removed from the package and simply stored in CVS. Maintaining the old versions during the current changes in the Debian::DpkgCross module is impractical and it is unlikely that the CVS versions will be usable with the released package as the old code is increasingly left behind. Functions listed as "Legacy code" in the module are likely to be removed in due course. . The next stage is expected to be the migration of the cross-config.$arch files into dpkg-dev along with a method to replicate the gccross script currently used by dpkg-cross. . The dpkg-cross 'core' functionality of preparing Architecture:all packages of development headers and shared objects for use in a cross build is expected to be retained outside dpkg until such time as the other components are successfully merged and a suitable method is available to implement support for cross-building within dpkg and apt. . This will then result in both dpkg-cross and apt-cross being removed from Debian in preference for the integrated cross building support within dpkg and apt. . The 2.x series of dpkg-cross will therefore aim to achieve its own removal. . Once this happens, dpkg-dev will conflict with and replace dpkg-cross to ensure the removal of the old code. -- Neil Williams Tue, 29 Aug 2007 15:32:15 +0100 dpkg-cross (1.26) unstable; urgency=low This version of dpkg-cross uses new paths to default cross-compile environment, to follow changes in debian arch aliases. E.g. it uses arm-linux-gnu instead of arm-linux. . Because of this, -arch-cross packages created by this version are not compatable with those created by previous versions. Some dependency magic was added to make incompatable combination less probable, but there are some situations when it may not help. Because of this, it's better to recreate all -arch-cross packages using this version of dpkg-cross. . Also, to actually cross-compile debian packages, new versions of cross-toolchain packages are required. Appropriate patches for gcc-4.0 have been submitted, and should be available since gcc-4.0 4.0.2-6. Cross-patches for binutils package, as well as not-yet-included cross-patches for gcc packages, are at http://zigzag.lvk.cs.msu.su/~nikita/debian/cross-patches Binary cross-toolchain i386 debs for different targets are at http://zigzag.lvk.cs.msu.su/~nikita/debian/sid/ -- Nikita V. Youshchenko Thu, 8 Dec 2005 10:17:30 +0300 dpkg-cross (1.24) unstable; urgency=low This version of dpkg-cross uses /etc/dpkg-cross and ~/.dpkg-cross instead of /etc/dpkg and ~/.dpkg. Dpkg-cross files will be moved from /etc/dpkg to /etc/dpkg-cross automatically during upgrade. If you have any dpkg-cross files in ~/.dpkg directory, please move those to ~/.dpkg-cross directory manually. -- Nikita V. Youshchenko Wed, 23 Feb 2005 18:00:58 +0300 dpkg-cross (2.3.3) unstable; urgency=low This version of dpkg-cross has been extensively refactored and includes a new Perl module with a new API. . The dpkg-buildpackage and dpkg-shlibdeps diversions have been removed due to increased cross-building support in dpkg-dev. The customised versions of objcopy, objdump and strip have also been removed due to the new dependency on binutils-multiarch. . As dpkg-cross is merged gradually back into dpkg, parts of the old dpkg-cross will be removed from the package and simply stored in CVS. Maintaining the old versions during the current changes in the Debian::DpkgCross module is impractical and it is unlikely that the CVS versions will be usable with the released package as the old code is increasingly left behind. Functions listed as "Legacy code" in the module are likely to be removed in due course. . The next stage is expected to be the migration of the cross-config.$arch files into dpkg-dev along with a method to replicate the gccross script currently used by dpkg-cross. . The dpkg-cross 'core' functionality of preparing Architecture:all packages of development headers and shared objects for use in a cross build is expected to be retained outside dpkg until such time as the other components are successfully merged and a suitable method is available to implement support for cross-building within dpkg and apt. . This will then result in both dpkg-cross and apt-cross being removed from Debian in preference for the integrated cross building support within dpkg and apt. . The 2.x series of dpkg-cross will therefore aim to achieve its own removal. . Once this happens, dpkg-dev will conflict with and replace dpkg-cross to ensure the removal of the old code. gccross and buildcross have been removed for easier migration into dpkg -- Neil Williams Sun, 05 Oct 2008 10:23:26 +0100 dpkg-cross-2.6.13ubuntu1/debian/postinst0000664000000000000000000000600310664525541015132 0ustar #! /bin/sh # postinst script for dpkg-cross # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-deconfigure' `in-favour' # `removing' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package # # quoting from the policy: # Any necessary prompting should almost always be confined to the # post-installation script, and should be protected with a conditional # so that unnecessary prompting doesn't happen if a package's # installation fails and the `postinst' is called with `abort-upgrade', # `abort-remove' or `abort-deconfigure'. diverted="dpkg-buildpackage dpkg-shlibdeps" case "$1" in configure) # Remove diversion of dh_strip left from older versions of dpkg-cross if dpkg-divert --list /usr/bin/dh_strip | grep -q dpkg-cross; then # For some reason, dh_strip from older version of package is still # there at this point. Looks like dpkg does not delete file from # older version of a package if that file diverts another file .. # This causes funny things such as #237511 that don't seem to have # a good solution. Looks that the only way to make a sane upgrade # is to delete the file here - which is bad, I know, but IMHO # it's better than dpkg errors. test -e /usr/bin/dh_strip && test -e /usr/bin/dh_strip.orig && rm -f /usr/bin/dh_strip dpkg-divert --package dpkg-cross --remove --rename \ --divert /usr/bin/dh_strip.orig \ /usr/bin/dh_strip fi # dpkg-divert --package wibble --rename --remove /usr/bin/example for prog in $diverted; do if dpkg-divert --list /usr/bin/$prog | grep -q dpkg-cross; then dpkg-divert --package dpkg-cross --rename --remove \ /usr/bin/$prog fi done # Source debconf library. . /usr/share/debconf/confmodule db_get dpkg-cross/default-arch if [ "$RET" = "None" ]; then sed -e s/#*default_arch\ =\ .*/#default_arch\ =\ / \ /etc/dpkg-cross/cross-compile.sample \ > /etc/dpkg-cross/cross-compile else sed -e s/#*default_arch\ =\ .*/default_arch\ =\ $RET/ \ /etc/dpkg-cross/cross-compile.sample \ > /etc/dpkg-cross/cross-compile fi db_stop ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 dpkg-cross-2.6.13ubuntu1/debian/dpkg-cross.dirs0000664000000000000000000000010311324630022016237 0ustar /etc/dpkg-cross/cross-config.d/ /etc/dpkg-cross/multiarch-cross.d/ dpkg-cross-2.6.13ubuntu1/debian/bugscript0000775000000000000000000000161411210760016015241 0ustar #!/bin/bash set -e if [ -z "$YESNO" ]; then YESNO=$"yYnN" fi cat <&3 echo "-- $HOME/.dpkg-cross/cross-compile --" >&3 echo >&3 cat $config >&3 else echo >&3 echo "-- ( $HOME/.dpkg-cross/cross-compile present, but not submitted) --" >&3 echo >&3 fi fi yesno "May I include /etc/dpkg-cross/cross-compile ? [Y/n] " yep if [ "$REPLY" = "yep" ]; then echo >&3 echo "-- /etc/dpkg-cross/cross-compile --" >&3 echo >&3 cat /etc/dpkg-cross/cross-compile >&3 else echo >&3 echo "-- (/etc/dpkg-cross/cross-compile not submitted) --" >&3 echo >&3 fi dpkg-cross-2.6.13ubuntu1/debian/rules0000775000000000000000000000105411735623446014410 0ustar #!/usr/bin/make -f # Sample debian/rules that uses cdbs. Originally written by Robert Millan. # This file is public domain. include /usr/share/cdbs/1/class/makefile.mk include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/class/perl-makemaker.mk clean:: $(RM) Debian::DpkgCross.3 dpkg-cross.1 $(RM) debian/stamp-makefile-build debian/stamp-makefile-check debconf-updatepo build/dpkg-cross:: install -d debian/dpkg-cross/usr/share/bug/dpkg-cross/ install -m 0755 debian/bugscript debian/dpkg-cross/usr/share/bug/dpkg-cross/script dpkg-cross-2.6.13ubuntu1/config/0000775000000000000000000000000012460246372013346 5ustar dpkg-cross-2.6.13ubuntu1/config/cross-config.cygwin-i3860000664000000000000000000000274211543552662017663 0ustar # # preset values of configure variables for cross-compiling to any cygwin system # # If you have additions to this file, please tell # so they can be included in the package. # # These values cannot determined when cross-compiling, because configure would # have to run a target arch test program, which is not possible on the build # host. So supply them manually... # ac_cv_c_bigendian=no ac_cv_sizeof_unsigned_int=4 ac_cv_sizeof_unsigned_long=4 #ac_cv_header_stdc=yes #ac_cv_func_closedir_void=no #kb_cv_func_putenv_malloc=no #ac_cv_func_vfork=yes #ac_cv_func_setvbuf_reversed=no #ac_cv_func_getpgrp_void=yes #ac_cv_sys_restartable_syscalls=yes #ac_cv_func_fnmatch_works=yes #ac_cv_func_getpagesize=yes bash_cv_dup2_broken=no bash_cv_pgrp_pipe=no bash_cv_sys_siglist=yes bash_cv_under_sys_siglist=yes bash_cv_opendir_not_robust=no bash_cv_printf_declared=yes bash_cv_ulimit_maxfds=yes bash_cv_getenv_redef=yes bash_cv_getcwd_calls_popen=no bash_cv_func_strcoll_broken=no bash_cv_must_reinstall_sighandlers=no bash_cv_type_quad_t=yes bash_cv_func_sigsetjmp=present bash_cv_job_control_missing=present bash_cv_sys_named_pipes=present bash_cv_type_rlimit=long # the following are used by ncurses, but the values aren't cached, so # they can't be preset here :-( But configure doesn't abort with # an error if the value cannot be determined, it uses a reasonable default #nc_cv_link_dataonly= #nc_cv_use_tiocgwinsz= #nc_cv_sizeof_bool= #. `dirname $ac_site_file`/cross-config.common dpkg-cross-2.6.13ubuntu1/config/cmake/0000775000000000000000000000000012147740004014417 5ustar dpkg-cross-2.6.13ubuntu1/config/cmake/CMakeCross.txt0000664000000000000000000000300212060611731017143 0ustar #set minimum cmake version required for cross-compiling to work cmake_minimum_required(VERSION 2.6) #Build with rm CMakeCache.txt; cmake -DCMAKE_TOOLCHAIN_FILE=./CMakeCross.txt . # set target system name SET (CMAKE_SYSTEM_NAME Linux) SET (CMAKE_SYSTEM_PROCESSOR $ENV{DEB_HOST_ARCH}) #set compiler name SET (CMAKE_C_COMPILER $ENV{DEB_HOST_GNU_TYPE}-gcc) SET (CMAKE_CXX_COMPILER $ENV{DEB_HOST_GNU_TYPE}-g++) #set path(s) to search for libraries/binaries/headers SET (CMAKE_FIND_ROOT_PATH /usr/$ENV{DEB_HOST_GNU_TYPE}) # ensure only cross-dirs are searched SET (ONLY_CMAKE_FIND_ROOT_PATH TRUE) # search for programs in the build host directories SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) # for libraries and headers in the target directories SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) MESSAGE ("Target system:${CMAKE_SYSTEM_NAME}, Host system:${CMAKE_HOST_SYSTEM} ") IF (CMAKE_CROSSCOMPILING) MESSAGE("CROSS COMPILING for ${CMAKE_C_COMPILER}") INCLUDE_DIRECTORIES(BEFORE ${CMAKE_FIND_ROOT_PATH}/include) #Make pkg-config look in the right place FIND_PROGRAM(DPKG_CROSS_PKG_CONFIG $ENV{DEB_HOST_GNU_TYPE}-pkg-config) IF (DPKG_CROSS_PKG_CONFIG) # for UsePkgConfig SET(PKGCONFIG_EXECUTABLE ${DPKG_CROSS_PKG_CONFIG}) # for FindPkgConfig SET(PKG_CONFIG_EXECUTABLE ${DPKG_CROSS_PKG_CONFIG}) ELSE () SET(ENV{PKG_CONFIG_LIBDIR} ${CMAKE_FIND_ROOT_PATH}/lib/pkgconfig/) ENDIF () ELSE (CMAKE_CROSSCOMPILING) MESSAGE("Native Compile") ENDIF (CMAKE_CROSSCOMPILING) dpkg-cross-2.6.13ubuntu1/config/cross-config.sh3eb0000664000000000000000000000014511543552662016673 0ustar # sh3eb specific configure variables . `dirname $ac_site_file`/cross-config.sh ac_cv_c_bigendian=yes dpkg-cross-2.6.13ubuntu1/config/cross-config.hppa0000664000000000000000000000163211543552662016621 0ustar # # hppa specific configure variables # # If you have additions to this file, please tell # so they can be included in the package. # ac_cv_c_bigendian=yes ac_cv_c_char_unsigned=no ac_cv_sizeof_long_long=8 ac_cv_sizeof_unsigned_long_long=8 ac_cv_sizeof_long=4 ac_cv_sizeof_unsigned_long=4 ac_cv_sizeof_int=4 ac_cv_sizeof_unsigned_int=4 ac_cv_sizeof_short=2 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_short=2 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_float=4 ac_cv_sizeof_double=8 ac_cv_sizeof_long_double=12 ## bash # no readline for now since no shlibs opt_readline=no opt_curses=no opt_static_link=yes # #opt_gnu_malloc=no #opt_glibc_malloc=yes with_glibc_malloc=yes with_gnu_malloc=no # #opt_extended_glob=no ## grep # doesn't help yet because configure assumes set to yes # file a bug on this ac_use_included_regex=no ## login ac_cv_func_setpgrp_void=yes ## tar ac_cv_func_working_mktime=yes dpkg-cross-2.6.13ubuntu1/config/cross-config.sh40000664000000000000000000000014211543552662016362 0ustar # sh4 specific configure variables . `dirname $ac_site_file`/cross-config.sh ac_cv_c_bigendian=no dpkg-cross-2.6.13ubuntu1/config/cross-config.sh30000664000000000000000000000014211543552662016361 0ustar # sh3 specific configure variables . `dirname $ac_site_file`/cross-config.sh ac_cv_c_bigendian=no dpkg-cross-2.6.13ubuntu1/config/cross-config.armel0000664000000000000000000000301412460246311016753 0ustar # read in package-specific and global values. . `dirname $ac_site_file`/cross-config.cache # now ensure the real architecture-dependent values take priority ac_cv_c_bigendian=no ac_cv_c_char_unsigned=yes ac_cv_sizeof_long_long=8 ac_cv_sizeof_unsigned_long_long=8 ac_cv_sizeof_long=4 ac_cv_sizeof_unsigned_long=4 ac_cv_sizeof_int=4 ac_cv_sizeof_unsigned_int=4 ac_cv_sizeof_short=2 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_char=1 ac_cv_sizeof_unsigned_char=1 ac_cv_sizeof_signed_char=1 ac_cv_sizeof_float=4 ac_cv_sizeof_double=8 ac_cv_sizeof_long_double=8 ac_cv_sizeof_void_p=4 ac_cv_sizeof_char_p=4 path=`dirname $ac_site_file` # now allow package-specific architecture-independent values to be set if [ -d $path/cross-config.d/armel/ ]; then for file in `ls $path/cross-config.d/armel/`; do if [ "$file" = "$PACKAGE" -o "$file" = "$PACKAGE_NAME" ]; then [ -d $path/cross-config.d/armel/$file ] || . $path/cross-config.d/armel/$file HAVE_PKG_CACHE=1 fi done fi if [ -z "$HAVE_PKG_CACHE" ]; then # orbit2 - only needed until liborbit-dev provides these directly # using the mechanism above. if [ "$PACKAGE" = "orbit2" -o "$PACKAGE_NAME" = "ORBit2" ]; then ac_cv_alignof_CORBA_octet=1 ac_cv_alignof_CORBA_boolean=1 ac_cv_alignof_CORBA_char=1 ac_cv_alignof_CORBA_wchar=2 ac_cv_alignof_CORBA_short=2 ac_cv_alignof_CORBA_long=4 ac_cv_alignof_CORBA_long_long=8 ac_cv_alignof_CORBA_float=4 ac_cv_alignof_CORBA_double=4 ac_cv_alignof_CORBA_long_double=8 ac_cv_alignof_CORBA_struct=1 ac_cv_alignof_CORBA_pointer=4 fi fi dpkg-cross-2.6.13ubuntu1/config/archtable.default0000664000000000000000000000143111074207140016626 0ustar # This is the default list of architectures that differ # between dpkg-cross and dpkg. # Other files can be added to this directory using the same # syntax. Lines starting with # are comments and are ignored. # Additionally, content after # on any line is also ignored # as long as the rest of the line is valid syntax. # Syntax is 'key: value' # key cannot be quoted, value can be quoted. armeb: armeb-linux-gnueabi hurd-i386: i386-gnu #XXX This differs from dpkg-architecture s390x: 's390-linux-gnu' #XXX This differs from dpkg-architecture openbsd-i386: 'i386-openbsd' #XXX This differs from dpkg-architecture freebsd-i386: 'i386-freebsd' #XXX This differs from dpkg-architecture darwin-i386: 'i386-darwin', #XXX This differs from dpkg-architecture win32-i386: 'i386-cygwin' dpkg-cross-2.6.13ubuntu1/config/cross-config.cache0000664000000000000000000001741612054234246016734 0ustar # Package-specific cache values # ensure that even if a setting is repeated # that the *value* of that setting remains the same. # If not, remove *all* mentions of that setting and # use the /etc/dpkg-cross/cross-config.d/$arch/$package # support to isolate architecture-dependent values. # Settings are listed by package to avoid setting # a value unless the package requires that value. # Common libc things - global until someone finds a reason not to ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes # shadow ac_cv_func_setpgrp_void=yes # override libtool until #367115 is fixed hostarch=`dpkg-architecture -qDEB_HOST_GNU_TYPE` lt_cv_sys_lib_dlsearch_path_spec=" /lib/$hostarch /usr/lib/$hostarch /lib /usr/lib /usr/local/lib" #apr if [ "$PACKAGE" = "apr" -o "$PACKAGE_NAME" = "apr" ]; then ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes apr_cv_tcp_nodelay_with_cork=yes #apr's configure script will assume no epoll if cross compiling. Fix apr_cv_epoll=yes apr_cv_epoll_create1=yes # apr_cv_process_shared_works: maybe arch specific? # apr_cv_mutex_robust_shared: maybe arch specific? # ac_cv_sizeof_struct_iovec: is arch specific fi # avahi if [ "$PACKAGE" = "avahi" -o "$PACKAGE_NAME" = "avahi" ]; then ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes ac_cv_lib_gdbm_gdbm_open=yes ac_cv_header_gdbm_h=yes fi # bash if [ "$PACKAGE" = "bash" -o "$PACKAGE_NAME" = "bash" ]; then ac_cv_have_abstract_sockets=yes fi # coreutils if [ "$PACKAGE" = "coreutils" -o "$PACKAGE_NAME" = "GNU coreutils" ]; then gl_cv_func_tzset_clobber=no gl_cv_func_gettimeofday_clobber=no jm_cv_func_gettimeofday_clobber=no utils_cv_localtime_cache=no ac_cv_func_futimesat=yes ac_cv_prog_cc_c99=${ac_cv_prog_cc_c99=-std=gnu99} ac_cv_prog_cc_stdc=${ac_cv_prog_cc_stdc=-std=gnu99} fu_cv_sys_stat_statfs2_bsize=yes gl_cv_struct_dirent_d_ino=yes ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes gl_cv_header_working_fcntl_h=yes gl_cv_func_gnu_getopt=yes ac_cv_func_calloc_0_nonnull=yes gl_cv_func_fflush_stdin=yes gl_cv_func_wcwidth_works=yes ac_cv_func_fnmatch_gnu=yes gl_cv_func_getcwd_null=yes ac_cv_func_memcmp_working=yes gl_cv_func_signbit=yes ac_cv_func_lstat_empty_string_bug=no gl_cv_func_working_acl_get_file=yes gl_cv_func_fchownat_nofollow_works=yes gl_cv_func_fstatat_zero_flag=yes fi # dbus-glib if [ "$PACKAGE" = "dbus-glib" -o "$PACKAGE_NAME" = "dbus-glib" ]; then ac_cv_func_posix_getpwnam_r=yes ac_cv_have_abstract_sockets=yes fi # dbus if [ "$PACKAGE" = "dbus" -o "$PACKAGE_NAME" = "dbus" ]; then ac_cv_have_abstract_sockets=yes fi # dpkg if [ "$PACKAGE" = "dpkg" -o "$PACKAGE_NAME" = "dpkg" ]; then dpkg_cv_va_copy=yes dpkg_cv_c99_snprintf=yes fi # findutils if [ "$PACKAGE" = "findutils" -o "$PACKAGE_NAME" = "GNU findutils" ]; then ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes ac_cv_func_calloc_0_nonnull=yes gl_cv_header_working_fcntl_h=yes gl_cv_func_fflush_stdin=yes ac_cv_func_fnmatch_gnu=yes gl_cv_func_getcwd_null=yes gl_cv_func_gnu_getopt=yes gl_cv_func_wcwidth_works=yes fi # glib2.0 if [ "$PACKAGE" = "glib2.0" -o "$PACKAGE_NAME" = "glib" ]; then glib_cv_stack_grows=no glib_cv_monotonic_clock=yes glib_cv_uscore=no ac_cv_func_posix_getpwuid_r=yes ac_cv_func_posix_getgrgid_r=yes ac_cv_path_GLIB_GENMARSHAL=/usr/bin/glib-genmarshal fi # gnupg if [ "$PACKAGE" = "gnupg" -o "$PACKAGE_NAME" = "gnupg" ]; then ac_cv_type_mode_t=yes fi # isc-dhcp if [ "$PACKAGE" = "isc-dhcp" -o "$PACKAGE_NAME" = "isc-dhcp" ]; then ac_cv_file__dev_random=yes fi # krb5 if [ "$PACKAGE" = "krb5" -o "$PACKAGE_NAME" = "Kerberos 5" ]; then krb5_cv_attr_constructor_destructor=yes,yes ac_cv_func_regcomp=yes ac_cv_printf_positional=yes ac_cv_file__etc_environment=no ac_cv_file__etc_TIMEZONE=no fi # libdaemon if [ "$PACKAGE" = "libdaemon" -o "$PACKAGE_NAME" = "libdaemon" ]; then ac_cv_func_setpgrp_void=yes fi # libidl if [ "$PACKAGE" = "libidl" -o "$PACKAGE_NAME" = "libIDL" ]; then libIDL_cv_long_long_format=llu fi # libopenobex does not support PACKAGE_NAME or PACKAGE # so this value is currently passed directly via # debian rules #if [ "$PACKAGE" = "libopenobex" -o "$PACKAGE_NAME" = "libopenobex" ]; then #ac_cv_file__usr_lib_pkgconfig_libusb_pc=yes #fi # mysql if [ "$PACKAGE" = "mysql" -o "$PACKAGE_NAME" = "mysql" ]; then mysql_cv_gcc_atomic_builtins=yes ac_cv_HAVE_IB_ATOMIC_PTHREAD_T_GCC=yes ac_cv_IB_GCC_ATOMIC_BUILTINS=yes ac_cv_HAVE_IB_GCC_ATOMIC_BUILTINS=yes ac_cv_HAVE_IB_SOLARIS_ATOMICS=yes # ac_cv_c_stack_direction is arch-sepcific fi # mktemp if [ "$PACKAGE" = "mktemp" -o "$PACKAGE_NAME" = "mktemp" ]; then sudo_cv_ebcdic=no fi # ncurses does not support PACKAGE_NAME or PACKAGE # so this value is currently passed directly via # debian rules #if [ "$PACKAGE" = "ncurses" -o "$PACKAGE_NAME" = "ncurses" ]; then #cf_cv_wint_t=no #fi # ntp if [ "$PACKAGE" = "ntp" -o "$PACKAGE_NAME" = "ntp" ]; then with_openssl_libdir=yes with_openssl_incdir=yes libopts_cv_run_strftime=yes libopts_cv_run_fopen_binary=yes libopts_cv_run_fopen_text=yes libopts_cv_with_libregex=yes fi # openldap if [ "$PACKAGE" = "openldap" -o "$PACKAGE_NAME" = "openldap" ]; then ac_cv_func_memcmp_working=yes fi # ossp-uuid if [ "$PACKAGE" = "ossp-uuid" -o "$PACKAGE_NAME" = "ossp-uuid" ]; then ac_cv_va_copy=yes fi # php if [ "$PACKAGE" = "php" -o "$PACKAGE_NAME" = "php" ]; then ac_cv_lib_gmp___gmp_randinit_lc_2exp_size=yes ac_cv_crypt_SHA512=yes ac_cv_crypt_SHA256=yes ac_cv_crypt_md5=yes fi # popt if [ "$PACKAGE" = "popt" -o "$PACKAGE_NAME" = "popt" ]; then ac_cv_va_copy=yes fi # procps if [ "$PACKAGE" = "procps" -o "$PACKAGE_NAME" = "procps" ]; then gl_cv_have_proc_uptime=yes fi # python2.7 if [ "$PACKAGE" = "python" -o "$PACKAGE_NAME" = "python" ]; then ac_cv_buggy_getaddrinfo=no ac_cv_have_long_long_format=yes ac_cv_working_tzset=yes fi # rsyslog if [ "$PACKAGE" = "rsyslog" -o "$PACKAGE_NAME" = "rsyslog" ]; then ap_cv_atomic_builtins=yes fi # screen if [ "$PACKAGE" = "screen" -o "$PACKAGE_NAME" = "screen" ]; then ac_cv_prog_gcc_traditional=no fi # shadow does not support PACKAGE_NAME or PACKAGE # so this value is currently passed directly via # debian rules if [ "$PACKAGE" = "shadow" -o "$PACKAGE_NAME" = "shadow" ]; then ac_cv_func_setpgrp=yes ac_cv_func_setpgrp_void=yes fi # sqlite does not support PACKAGE_NAME or PACKAGE # need bespoke /etc/dpkg-cross/cross-config.d/arch:all support. if [ "$PACKAGE" = "sqlite" -o "$PACKAGE_NAME" = "sqlite" ]; then ac_cv_prog_cc_c89= ac_cv_header_readline_h=yes lt_cv_path_NM="/usr/bin/nm -B" archive_cmds_need_lc=no archive_cmds_need_lc_CXX=no archive_cmds_need_lc_F77=no archive_cmds_need_lc_GCJ=no fi # startup-notification if [ "$PACKAGE" = "startup-notification" -o "$PACKAGE_NAME" = "startup-notification" ]; then lf_cv_sane_realloc=yes fi # sudo if [ "$PACKAGE" = "sudo" -o "$PACKAGE_NAME" = "GNU sudo" ]; then sudo_cv_uid_t_len=10 sudo_cv_func_unsetenv_void=no fi # tar if [ "$PACKAGE" = "tar" -o "$PACKAGE_NAME" = "GNU tar" ]; then ac_cv_have_decl_wcwidth=yes gl_cv_func_wcwidth_works=yes fi # tcl if [ "$PACKAGE_NAME" = "tcl" ]; then # FIXME these were only observed under Linux; should preferably disable # them on !linux, but it's too early to use AC_CANONICAL_HOST output tcl_cv_strstr_unbroken=${tcl_cv_strstr_unbroken='ok'} tcl_cv_strtoul_unbroken=${tcl_cv_strtoul_unbroken='ok'} tcl_cv_strtod_unbroken=${tcl_cv_strtod_unbroken='ok'} tcl_cv_putenv_copy=${tcl_cv_putenv_copy='no'} fi # util-linux if [ "$PACKAGE_NAME" = "util-linux" -o "$PACKAGE_NAME" = "util-linux-ng" ]; then ac_cv_lib_blkid_blkid_known_fstype=yes ac_cv_lib_uuid_uuid_is_null=yes scanf_cv_type_modifier=ms fi # xorg-server if [ "$PACKAGE" = "xorg-server" -o "$PACKAGE_NAME" = "xorg-server" ]; then ac_cv_file__usr_share_sgml_X11_defs_ent=no fi # xserver-xorg-input-mouse if [ "$PACKAGE" = "xserver-xorg-input-mouse" -o "$PACKAGE_NAME" = "xf86-input-mouse" ]; then ac_cv_file__usr_share_sgml_X11_defs_ent=no fi dpkg-cross-2.6.13ubuntu1/config/qmake/0000775000000000000000000000000012147740004014435 5ustar dpkg-cross-2.6.13ubuntu1/config/qmake/cross/0000775000000000000000000000000012147740004015566 5ustar dpkg-cross-2.6.13ubuntu1/config/qmake/cross/features/0000775000000000000000000000000012147740004017404 5ustar dpkg-cross-2.6.13ubuntu1/config/qmake/cross/features/link_xpkgconfig.prf0000664000000000000000000000067012060613465023300 0ustar # handle pkg-config files for(PKGCONFIG_LIB, $$list($$unique(PKGCONFIG))) { PKG_CONFIG_LIBDIR=/usr/$$CROSS_GNU_ARCH/lib/pkgconfig QMAKE_CXXFLAGS += $$system(PKG_CONFIG_LIBDIR=$$PKG_CONFIG_LIBDIR pkg-config --cflags $$PKGCONFIG_LIB) QMAKE_CFLAGS += $$system(PKG_CONFIG_LIBDIR=$$PKG_CONFIG_LIBDIR pkg-config --cflags $$PKGCONFIG_LIB) LIBS += $$system(PKG_CONFIG_LIBDIR=$$PKG_CONFIG_LIBDIR pkg-config --libs $$PKGCONFIG_LIB) } dpkg-cross-2.6.13ubuntu1/config/qmake/cross/qmake.conf0000664000000000000000000000273412063343440017541 0ustar # # QMake configuration derived from Emdebian arm-linux-gnueabi-gcc compiler # using dpkg-cross style dependency paths. # MAKEFILE_GENERATOR = UNIX TARGET_PLATFORM = unix # need to check if this is warranted CONFIG += qt warn_on release incremental link_prl QT += core gui include(/usr/share/qt4/mkspecs/common/unix.conf) include(/usr/share/qt4/mkspecs/common/g++-unix.conf) include(/usr/share/qt4/mkspecs/common/gcc-base-unix.conf) include(/usr/share/qt4/mkspecs/common/linux.conf) CROSS_GNU_ARCH = $$(DEB_HOST_GNU_TYPE) warning("preparing QMake configuration for $$CROSS_GNU_ARCH") CONFIG += $$CROSS_GNU_ARCH # # qmake configuration for common gcc # QMAKE_CC = $$CROSS_GNU_ARCH-gcc QMAKE_CXX = $$CROSS_GNU_ARCH-g++ QMAKE_LINK = $$CROSS_GNU_ARCH-g++ QMAKE_LINK_SHLIB = $$CROSS_GNU_ARCH-g++ QMAKE_LINK_C = $$CROSS_GNU_ARCH-gcc QMAKE_LINK_C_SHLIB = $$CROSS_GNU_ARCH-gcc # # qmake configuration for common linux # QMAKE_INCDIR = /usr/$$CROSS_GNU_ARCH/include/ QMAKE_LIBDIR = /usr/$$CROSS_GNU_ARCH/lib/ QMAKE_INCDIR_X11 = /usr/$$CROSS_GNU_ARCH/X11R6/include QMAKE_LIBDIR_X11 = /usr/$$CROSS_GNU_ARCH/X11R6/lib QMAKE_INCDIR_QT = /usr/$$CROSS_GNU_ARCH/include/qt4/ QMAKE_LIBDIR_QT = /usr/$$CROSS_GNU_ARCH/lib/ QMAKE_INCDIR_OPENGL = /usr/$$CROSS_GNU_ARCH/X11R6/include QMAKE_LIBDIR_OPENGL = /usr/$$CROSS_GNU_ARCH/X11R6/lib QMAKE_AR = $$CROSS_GNU_ARCH-ar cqs QMAKE_OBJCOPY = $$CROSS_GNU_ARCH-objcopy QMAKE_STRIP = $$CROSS_GNU_ARCH-strip load(qt_config) dpkg-cross-2.6.13ubuntu1/config/qmake/multi/0000775000000000000000000000000012147740004015567 5ustar dpkg-cross-2.6.13ubuntu1/config/qmake/multi/qmake.conf0000664000000000000000000000273712063343424017547 0ustar # # QMake configuration for MultiArch cross building. # MAKEFILE_GENERATOR = UNIX TARGET_PLATFORM = unix # need to check if this is warranted CONFIG += qt warn_on release incremental link_prl QT += core gui # don't know if we need this... QMAKE_INCREMENTAL_STYLE = sublib include(/usr/share/qt4/mkspecs/common/unix.conf) include(/usr/share/qt4/mkspecs/common/g++-unix.conf) include(/usr/share/qt4/mkspecs/common/gcc-base-unix.conf) include(/usr/share/qt4/mkspecs/common/linux.conf) CROSS_GNU_ARCH = $$(DEB_HOST_GNU_TYPE) warning("preparing QMake configuration for $$CROSS_GNU_ARCH") CONFIG += $$CROSS_GNU_ARCH # # qmake configuration for common gcc # QMAKE_CC = $$CROSS_GNU_ARCH-gcc QMAKE_CXX = $$CROSS_GNU_ARCH-g++ QMAKE_LINK = $$CROSS_GNU_ARCH-g++ QMAKE_LINK_SHLIB = $$CROSS_GNU_ARCH-g++ QMAKE_LINK_C = $$CROSS_GNU_ARCH-gcc QMAKE_LINK_C_SHLIB = $$CROSS_GNU_ARCH-gcc # # qmake configuration for common linux # QMAKE_INCDIR = /usr/include/$$CROSS_GNU_ARCH/ QMAKE_LIBDIR = /usr/lib/$$CROSS_GNU_ARCH/ QMAKE_INCDIR_X11 = /usr/include/$$CROSS_GNU_ARCH/X11R6/ QMAKE_LIBDIR_X11 = /usr/lib/$$CROSS_GNU_ARCH/X11R6/ QMAKE_INCDIR_QT = /usr/include/$$CROSS_GNU_ARCH/qt4/ QMAKE_LIBDIR_QT = /usr/lib/$$CROSS_GNU_ARCH/ QMAKE_INCDIR_OPENGL = /usr/include/$$CROSS_GNU_ARCH/X11R6/ QMAKE_LIBDIR_OPENGL = /usr/lib/$$CROSS_GNU_ARCH/X11R6/ QMAKE_AR = $$CROSS_GNU_ARCH-ar cqs QMAKE_OBJCOPY = $$CROSS_GNU_ARCH-objcopy QMAKE_STRIP = $$CROSS_GNU_ARCH-strip load(qt_config) dpkg-cross-2.6.13ubuntu1/config/cross-config.alpha0000664000000000000000000000112412460246225016744 0ustar # # alpha specific configure variables # # If you have additions to this file, please tell # so they can be included in the package. # ac_cv_c_bigendian=no ac_cv_c_char_unsigned=no ac_cv_sizeof_long_long=8 ac_cv_sizeof_unsigned_long_long=8 ac_cv_sizeof_long=8 ac_cv_sizeof_unsigned_long=8 ac_cv_sizeof_int=4 ac_cv_sizeof_unsigned_int=4 ac_cv_sizeof_short=2 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_char=1 ac_cv_sizeof_unsigned_char=1 ac_cv_sizeof_signed_char=1 ac_cv_sizeof_float=4 ac_cv_sizeof_double=8 ac_cv_sizeof_long_double=8 ac_cv_sizeof_void_p=8 ac_cv_sizeof_char_p=8 dpkg-cross-2.6.13ubuntu1/config/cross-config.armhf0000664000000000000000000000301412460246250016752 0ustar # read in package-specific and global values. . `dirname $ac_site_file`/cross-config.cache # now ensure the real architecture-dependent values take priority ac_cv_c_bigendian=no ac_cv_c_char_unsigned=yes ac_cv_sizeof_long_long=8 ac_cv_sizeof_unsigned_long_long=8 ac_cv_sizeof_long=4 ac_cv_sizeof_unsigned_long=4 ac_cv_sizeof_int=4 ac_cv_sizeof_unsigned_int=4 ac_cv_sizeof_short=2 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_char=1 ac_cv_sizeof_unsigned_char=1 ac_cv_sizeof_signed_char=1 ac_cv_sizeof_float=4 ac_cv_sizeof_double=8 ac_cv_sizeof_long_double=8 ac_cv_sizeof_void_p=4 ac_cv_sizeof_char_p=4 path=`dirname $ac_site_file` # now allow package-specific architecture-independent values to be set if [ -d $path/cross-config.d/armhf/ ]; then for file in `ls $path/cross-config.d/armhf/`; do if [ "$file" = "$PACKAGE" -o "$file" = "$PACKAGE_NAME" ]; then [ -d $path/cross-config.d/armhf/$file ] || . $path/cross-config.d/armhf/$file HAVE_PKG_CACHE=1 fi done fi if [ -z "$HAVE_PKG_CACHE" ]; then # orbit2 - only needed until liborbit-dev provides these directly # using the mechanism above. if [ "$PACKAGE" = "orbit2" -o "$PACKAGE_NAME" = "ORBit2" ]; then ac_cv_alignof_CORBA_octet=1 ac_cv_alignof_CORBA_boolean=1 ac_cv_alignof_CORBA_char=1 ac_cv_alignof_CORBA_wchar=2 ac_cv_alignof_CORBA_short=2 ac_cv_alignof_CORBA_long=4 ac_cv_alignof_CORBA_long_long=8 ac_cv_alignof_CORBA_float=4 ac_cv_alignof_CORBA_double=4 ac_cv_alignof_CORBA_long_double=8 ac_cv_alignof_CORBA_struct=1 ac_cv_alignof_CORBA_pointer=4 fi fi dpkg-cross-2.6.13ubuntu1/config/cross-config.m68k0000664000000000000000000000102011543552662016445 0ustar # # m68k specific configure variables # # If you have additions to this file, please tell # so they can be included in the package. # ac_cv_c_bigendian=yes ac_cv_c_char_unsigned=no ac_cv_sizeof_long_long=8 ac_cv_sizeof_unsigned_long_long=8 ac_cv_sizeof_long=4 ac_cv_sizeof_unsigned_long=4 ac_cv_sizeof_int=4 ac_cv_sizeof_unsigned_int=4 ac_cv_sizeof_short=2 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_short=2 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_float=4 ac_cv_sizeof_double=8 ac_cv_sizeof_long_double=12 dpkg-cross-2.6.13ubuntu1/config/cross-config.amd640000664000000000000000000000074611543552662016611 0ustar # # amd64-specific configuration variables # # By "Alexandra N. Kossovsky" # ac_cv_c_bigendian=no ac_cv_c_char_unsigned=no ac_cv_sizeof_long_long=8 ac_cv_sizeof_unsigned_long_long=8 ac_cv_sizeof_long=8 ac_cv_sizeof_unsigned_long=8 ac_cv_sizeof_int=4 ac_cv_sizeof_unsigned_int=4 ac_cv_sizeof_short=2 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_short=2 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_float=4 ac_cv_sizeof_double=8 ac_cv_sizeof_long_double=16 dpkg-cross-2.6.13ubuntu1/config/cross-config.powerpc0000664000000000000000000000327311144330207017335 0ustar # read in package-specific and global values. . `dirname $ac_site_file`/cross-config.cache # # powerpc specific configure variables # # If you have additions to this file, please tell # debian-embedded@lists.debian.org # so they can be included in the package. # ac_cv_c_bigendian=yes ac_cv_c_char_unsigned=yes ac_cv_sizeof_long_long=8 ac_cv_sizeof_unsigned_long_long=8 ac_cv_sizeof_long=4 ac_cv_sizeof_unsigned_long=4 ac_cv_sizeof_int=4 ac_cv_sizeof_unsigned_int=4 ac_cv_sizeof_short=2 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_short=2 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_float=4 ac_cv_sizeof_double=8 # for glib2.0 if [ "$PACKAGE" = "glib2.0" -o "$PACKAGE_NAME" = "glib2.0" ]; then glib_cv_use_pid_surrogate=no # ? fi # for gstreamer HAVE_MAKECONTEXT=no path=`dirname $ac_site_file` # now allow package-specific architecture-independent values to be set if [ -d $path/cross-config.d/powerpc/ ]; then for file in `ls $path/cross-config.d/powerpc/`; do if [ "$file" = "$PACKAGE" -o "$file" = "$PACKAGE_NAME" ]; then [ -d $path/cross-config.d/powerpc/$file ] || . $path/cross-config.d/powerpc/$file HAVE_PKG_CACHE=1 fi done fi if [ -z "$HAVE_PKG_CACHE" ]; then # orbit2 - only needed until liborbit-dev provides these directly # using the mechanism above. if [ "$PACKAGE" = "orbit2" -o "$PACKAGE_NAME" = "ORBit2" ]; then ac_cv_alignof_CORBA_octet=1 ac_cv_alignof_CORBA_boolean=1 ac_cv_alignof_CORBA_char=1 ac_cv_alignof_CORBA_wchar=2 ac_cv_alignof_CORBA_short=2 ac_cv_alignof_CORBA_long=4 ac_cv_alignof_CORBA_long_long=8 ac_cv_alignof_CORBA_float=4 ac_cv_alignof_CORBA_double=8 ac_cv_alignof_CORBA_long_double=8 ac_cv_alignof_CORBA_struct=1 ac_cv_alignof_CORBA_pointer=4 fi fi dpkg-cross-2.6.13ubuntu1/config/cross-config.sh0000664000000000000000000000251612460246365016304 0ustar # read in package-specific and global values. . `dirname $ac_site_file`/cross-config.cache # now ensure the real architecture-dependent values take priority # sh specific configure variables ac_cv_c_char_unsigned=no ac_cv_func_setpgrp_void=yes ac_cv_prog_cc_cross=yes ac_cv_search_clock_gettime=no ac_cv_sizeof_char=1 ac_cv_sizeof_double=8 ac_cv_sizeof_float=4 ac_cv_sizeof_int=4 ac_cv_sizeof_long=4 ac_cv_sizeof_long_double=12 ac_cv_sizeof_long_long=8 ac_cv_sizeof_short=2 ac_cv_sizeof_signed_char=1 ac_cv_sizeof_unsigned_int=4 ac_cv_sizeof_unsigned_long=4 ac_cv_sizeof_unsigned_long_long=8 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_void_p=4 # DB2, DB3 db_cv_alignp_t=int db_cv_fcntl_f_setfd=yes db_cv_mutex=sh/gcc-assembly db_cv_spinlocks=sh/gcc db_cv_sprintf_count=yes # Python ac_cv_malloc_zero=yes ac_cv_opt_olimit_ok=no ac_cv_olimit_ok=no path=`dirname $ac_site_file` # now allow package-specific architecture-independent values to be set if [ -d $path/cross-config.d/sh/ ]; then for file in `ls $path/cross-config.d/sh/`; do if [ "$file" = "$PACKAGE" -o "$file" = "$PACKAGE_NAME" ]; then [ -d $path/cross-config.d/sh/$file ] || . $path/cross-config.d/sh/$file HAVE_PKG_CACHE=1 fi done fi if [ -z "$HAVE_PKG_CACHE" ]; then # only needed until the packages provide these directly # using the mechanism above. fi dpkg-cross-2.6.13ubuntu1/config/cross-config.i3860000664000000000000000000000305311144330207016343 0ustar # read in package-specific and global values. . `dirname $ac_site_file`/cross-config.cache # # i386 specific configure variables # # If you have additions to this file, please tell # debian-embedded@lists.debian.org # so they can be included in the package. # ac_cv_c_bigendian=no ac_cv_c_char_unsigned=no ac_cv_sizeof_long_long=8 ac_cv_sizeof_unsigned_long_long=8 ac_cv_sizeof_long=4 ac_cv_sizeof_unsigned_long=4 ac_cv_sizeof_int=4 ac_cv_sizeof_unsigned_int=4 ac_cv_sizeof_short=2 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_short=2 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_float=4 ac_cv_sizeof_double=8 ac_cv_sizeof_long_double=12 path=`dirname $ac_site_file` # now allow package-specific architecture-independent values to be set if [ -d $path/cross-config.d/i386/ ]; then for file in `ls $path/cross-config.d/i386/`; do if [ "$file" = "$PACKAGE" -o "$file" = "$PACKAGE_NAME" ]; then [ -d $path/cross-config.d/i386/$file ] || . $path/cross-config.d/i386/$file HAVE_PKG_CACHE=1 fi done fi if [ -z "$HAVE_PKG_CACHE" ]; then # orbit2 - only needed until liborbit-dev provides these directly # using the mechanism above. if [ "$PACKAGE" = "orbit2" -o "$PACKAGE_NAME" = "ORBit2" ]; then ac_cv_alignof_CORBA_octet=1 ac_cv_alignof_CORBA_boolean=1 ac_cv_alignof_CORBA_char=1 ac_cv_alignof_CORBA_wchar=2 ac_cv_alignof_CORBA_short=2 ac_cv_alignof_CORBA_long=4 ac_cv_alignof_CORBA_long_long=4 ac_cv_alignof_CORBA_float=4 ac_cv_alignof_CORBA_double=4 ac_cv_alignof_CORBA_long_double=4 ac_cv_alignof_CORBA_struct=1 ac_cv_alignof_CORBA_pointer=4 fi fi dpkg-cross-2.6.13ubuntu1/config/cross-config.mipsel0000664000000000000000000000241711144365722017160 0ustar # read in package-specific and global values. . `dirname $ac_site_file`/cross-config.cache # # (32 bit) MIPS little endian specific configure variables # ac_cv_c_bigendian=no ac_cv_c_char_unsigned=no ac_cv_sizeof_long=4 ac_cv_sizeof_int=4 ac_cv_sizeof_char_p=4 ac_cv_sizeof_long_long=8 ac_cv_sizeof_unsigned_long=4 ac_cv_sizeof_unsigned_int=4 path=`dirname $ac_site_file` # now allow package-specific architecture-independent values to be set if [ -d $path/cross-config.d/mipsel/ ]; then for file in `ls $path/cross-config.d/mipsel/`; do if [ "$file" = "$PACKAGE" -o "$file" = "$PACKAGE_NAME" ]; then [ -d $path/cross-config.d/mipsel/$file ] || . $path/cross-config.d/mipsel/$file HAVE_PKG_CACHE=1 fi done fi if [ -z "$HAVE_PKG_CACHE" ]; then # orbit2 - only needed until liborbit-dev provides these directly # using the mechanism above. if [ "$PACKAGE" = "orbit2" -o "$PACKAGE_NAME" = "ORBit2" ]; then ac_cv_alignof_CORBA_octet=1 ac_cv_alignof_CORBA_boolean=1 ac_cv_alignof_CORBA_char=1 ac_cv_alignof_CORBA_wchar=2 ac_cv_alignof_CORBA_short=2 ac_cv_alignof_CORBA_long=4 ac_cv_alignof_CORBA_long_long=8 ac_cv_alignof_CORBA_float=4 ac_cv_alignof_CORBA_double=8 ac_cv_alignof_CORBA_long_double=8 ac_cv_alignof_CORBA_struct=1 ac_cv_alignof_CORBA_pointer=4 fi fi dpkg-cross-2.6.13ubuntu1/config/cross-config.sh4eb0000664000000000000000000000014511543552662016674 0ustar # sh4eb specific configure variables . `dirname $ac_site_file`/cross-config.sh ac_cv_c_bigendian=yes dpkg-cross-2.6.13ubuntu1/config/cross-config.m32r0000664000000000000000000000474612460246333016457 0ustar # read in package-specific and global values. . `dirname $ac_site_file`/cross-config.cache # now ensure the real architecture-dependent values take priority # m32r specific configure variables ac_cv_c_bigendian=yes ac_cv_c_char_unsigned=no ac_cv_sizeof_char=1 ac_cv_sizeof_double=8 ac_cv_sizeof_float=4 ac_cv_sizeof_int=4 ac_cv_sizeof_long=4 ac_cv_sizeof_long_double=12 ac_cv_sizeof_long_long=8 ac_cv_sizeof_short=2 ac_cv_sizeof_signed_char=1 ac_cv_sizeof_unsigned_int=4 ac_cv_sizeof_unsigned_long=4 ac_cv_sizeof_unsigned_long_long=8 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_void_p=4 # ac_cv_func_setpgrp_void=yes ac_cv_prog_cc_cross=yes ac_cv_search_clock_gettime=no # DB3 db_cv_alignp_t=int db_cv_fcntl_f_setfd=yes db_cv_sprintf_count=yes db_cv_mutex="POSIX/pthreads/library" # Python ac_cv_malloc_zero=yes ac_cv_opt_olimit_ok=no ac_cv_olimit_ok=no # Coreutils ac_cv_func_chown_works=yes ac_cv_func_closedir_void=no ac_cv_func_fnmatch_gnu=yes ac_cv_func_fnmatch_works=yes ac_cv_func_getcwd_null=yes ac_cv_func_getgroups_works=yes ac_cv_func_getpagesize=yes ac_cv_func_lstat_dereferences_slashed_symlink=yes ac_cv_func_lstat_empty_string_bug=no ac_cv_func_malloc_0_nonnull=yes ac_cv_func_memcmp_working=yes ac_cv_func_realloc_0_nonnull=yes ac_cv_func_stat_empty_string_bug=no ac_cv_func_strcoll_works=yes ac_cv_func_strnlen_working=yes ac_cv_func_strtod=yes ac_cv_func_utime_null=yes ac_cv_func_utimes_null=yes am_cv_func_working_getline=yes fu_cv_sys_mounted_getmntent1=yes fu_cv_sys_stat_statfs2_bsize=yes gl_cv_func_getcwd_vs_path_max=yes gl_cv_func_tzset_clobber=no gl_cv_func_working_readdir=yes gl_cv_func_working_utimes=yes jm_ac_cv_func_link_follows_symlink=no jm_cv_func_gettimeofday_clobber=no jm_cv_func_nanosleep_works=yes jm_cv_func_svid_putenv=yes jm_cv_func_unlink_busy_text=yes jm_cv_func_working_re_compile_pattern=yes jm_cv_have_proc_uptime=yes utils_cv_func_mkdir_trailing_slash_bug=no utils_cv_func_mkstemp_limitations=no utils_cv_localtime_cache=no vb_cv_func_rename_trailing_slash_bug=no path=`dirname $ac_site_file` # now allow package-specific architecture-independent values to be set if [ -d $path/cross-config.d/m32r/ ]; then for file in `ls $path/cross-config.d/m32r/`; do if [ "$file" = "$PACKAGE" -o "$file" = "$PACKAGE_NAME" ]; then [ -d $path/cross-config.d/m32r/$file ] || . $path/cross-config.d/m32r/$file HAVE_PKG_CACHE=1 fi done fi if [ -z "$HAVE_PKG_CACHE" ]; then # only needed until the packages provide these directly # using the mechanism above. fi dpkg-cross-2.6.13ubuntu1/config/cross-config.arm640000664000000000000000000000502412460245437016617 0ustar # read in package-specific and global values. echo "Reading Cross Config Cache (/etc/dpkg-cross/cross-config.arm64)" foobar=`dirname $ac_site_file` echo "Reading $foobar/cross-config.cache" . `dirname $ac_site_file`/cross-config.cache # now ensure the real architecture-dependent values take priority ac_cv_c_bigendian=no ac_cv_c_char_unsigned=yes ac_cv_sizeof_long_long=8 ac_cv_sizeof_unsigned_long_long=8 ac_cv_sizeof_long=8 ac_cv_sizeof_unsigned_long=8 ac_cv_sizeof_int=4 ac_cv_sizeof_unsigned_int=4 ac_cv_sizeof_short=2 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_char=1 ac_cv_sizeof_unsigned_char=1 ac_cv_sizeof_signed_char=1 ac_cv_sizeof_float=4 ac_cv_sizeof_double=8 ac_cv_sizeof_long_double=16 ac_cv_sizeof_void_p=8 ac_cv_sizeof_char_p=8 ac_cv_sizeof_time_t=8 #lots of things: turn off stack protector libc_cv_fno_stack_protector=no # Supplemental groups are disabled by default when crossing coreutils. # Should this go in generic file? ac_cv_func_getgroups_works=yes #Syscall resumable test passes (ie wait syscall is resumable) ac_cv_sys_restartable_syscalls=yes #Void ptr longer than long ap_cv_void_ptr_lt_long=no #apr #Verified with native test program apr_cv_process_shared_works=yes #Verifed with native test program apr_cv_mutex_robust_shared=yes #probably more general than just APR. verifed by cross compiling and running test from configure ac_cv_sizeof_struct_iovec=16 # mysql # mysql wants to know stack direction: # STACK_DIRECTION > 0 => grows toward higher addresses # STACK_DIRECTION < 0 => grows toward lower addresses # STACK_DIRECTION = 0 => direction of growth unknown ac_cv_c_stack_direction=-1 path=`dirname $ac_site_file` # now allow package-specific architecture-independent values to be set if [ -d $path/cross-config.d/arm64/ ]; then for file in `ls $path/cross-config.d/arm64/`; do if [ "$file" = "$PACKAGE" -o "$file" = "$PACKAGE_NAME" ]; then [ -d $path/cross-config.d/arm64/$file ] || . $path/cross-config.d/arm64/$file HAVE_PKG_CACHE=1 fi done fi if [ -z "$HAVE_PKG_CACHE" ]; then # orbit2 - only needed until liborbit-dev provides these directly # using the mechanism above. if [ "$PACKAGE" = "orbit2" -o "$PACKAGE_NAME" = "ORBit2" ]; then ac_cv_alignof_CORBA_octet=1 ac_cv_alignof_CORBA_boolean=1 ac_cv_alignof_CORBA_char=1 ac_cv_alignof_CORBA_wchar=2 ac_cv_alignof_CORBA_short=2 ac_cv_alignof_CORBA_long=4 ac_cv_alignof_CORBA_long_long=4 ac_cv_alignof_CORBA_float=4 ac_cv_alignof_CORBA_double=4 ac_cv_alignof_CORBA_long_double=4 ac_cv_alignof_CORBA_struct=4 ac_cv_alignof_CORBA_pointer=4 fi fi dpkg-cross-2.6.13ubuntu1/config/cross-config.mips0000664000000000000000000000240411144330207016621 0ustar # read in package-specific and global values. . `dirname $ac_site_file`/cross-config.cache # # (32 bit) MIPS bigendian specific configure variables # ac_cv_c_bigendian=yes ac_cv_c_char_unsigned=no ac_cv_sizeof_long=4 ac_cv_sizeof_int=4 ac_cv_sizeof_char_p=4 ac_cv_sizeof_long_long=8 ac_cv_sizeof_unsigned_long=4 ac_cv_sizeof_unsigned_int=4 path=`dirname $ac_site_file` # now allow package-specific architecture-independent values to be set if [ -d $path/cross-config.d/mips/ ]; then for file in `ls $path/cross-config.d/mips/`; do if [ "$file" = "$PACKAGE" -o "$file" = "$PACKAGE_NAME" ]; then [ -d $path/cross-config.d/mips/$file ] || . $path/cross-config.d/mips/$file HAVE_PKG_CACHE=1 fi done fi if [ -z "$HAVE_PKG_CACHE" ]; then # orbit2 - only needed until liborbit-dev provides these directly # using the mechanism above. if [ "$PACKAGE" = "orbit2" -o "$PACKAGE_NAME" = "ORBit2" ]; then ac_cv_alignof_CORBA_octet=1 ac_cv_alignof_CORBA_boolean=1 ac_cv_alignof_CORBA_char=1 ac_cv_alignof_CORBA_wchar=2 ac_cv_alignof_CORBA_short=2 ac_cv_alignof_CORBA_long=4 ac_cv_alignof_CORBA_long_long=8 ac_cv_alignof_CORBA_float=4 ac_cv_alignof_CORBA_double=8 ac_cv_alignof_CORBA_long_double=8 ac_cv_alignof_CORBA_struct=1 ac_cv_alignof_CORBA_pointer=4 fi fi dpkg-cross-2.6.13ubuntu1/po/0000775000000000000000000000000012147740004012510 5ustar dpkg-cross-2.6.13ubuntu1/po/Makefile0000664000000000000000000001155211477757124014174 0ustar # Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper # Copyright (C) 2004-2008 Rodney Dawes # # This file may be copied and used freely without restrictions. It may # be used in projects which are not available under a GNU Public License, # but which still want to provide support for the GNU gettext functionality. # # - Modified by Owen Taylor to use GETTEXT_PACKAGE # # - Modified by Neil Williams for Debian native # packages and to not require autoconf # this Makefile is due to be replaced by [type:xgettext] support in po4a. GETTEXT_PACKAGE = $(shell grep "^DOMAIN" Makevars |cut -d '=' -f2|tr -d ' ') SHELL = /bin/sh srcdir = . top_srcdir = .. top_builddir = .. subdir = po prefix = /usr mkdir_p = mkdir -p INSTALL_DATA = install -m 0644 datadir = ${datarootdir} datarootdir = ${prefix}/share DATADIRNAME = share itlocaledir = $(prefix)/$(DATADIRNAME)/locale GMSGFMT = /usr/bin/msgfmt MSGFMT = /usr/bin/msgfmt XGETTEXT = /usr/bin/xgettext INTLTOOL_UPDATE = /usr/bin/intltool-update INTLTOOL_EXTRACT = /usr/bin/intltool-extract MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot ALL_LINGUAS = PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi) USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep \^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep \^$$lang$$`"; then printf "$$lang "; fi; done; fi) USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) POTFILES = $(shell cat POTFILES.in|sed 's/\(.*\).*/..\/\1/'|tr -d ' ') CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done) .SUFFIXES: .SUFFIXES: .po .pox .gmo .mo .msg .cat .po.pox: $(MAKE) $(GETTEXT_PACKAGE).pot $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox .po.mo: $(MSGFMT) -o $@ $< .po.gmo: file=`echo $* | sed 's,.*/,,'`.gmo \ && rm -f $$file && $(GMSGFMT) -o $$file $< .po.cat: sed -f ../intl/po2msg.sed < $< > $*.msg \ && rm -f $@ && gencat $@ $*.msg all: all-yes all-yes: $(CATALOGS) all-no: pot: $(GETTEXT_PACKAGE).pot $(GETTEXT_PACKAGE).pot: $(POTFILES) $(GENPOT) # the install fallbacks are probably unnecessary, just the first case is used. install: install-data install-data: install-data-yes install-data-no: all install-data-yes: all linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $$dir; \ if test -r $$lang.gmo; then \ $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \ else \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $(srcdir)/$$lang.gmo as" \ "$$dir/$(GETTEXT_PACKAGE).mo"; \ fi; \ if test -r $$lang.gmo.m; then \ $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ if test -r $(srcdir)/$$lang.gmo.m ; then \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \ $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $(srcdir)/$$lang.gmo.m as" \ "$$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ true; \ fi; \ fi; \ done # Empty stubs to satisfy archaic automake needs dvi info tags TAGS ID: # Define this as empty until I found a useful application. install-exec installcheck: uninstall: check: all $(GETTEXT_PACKAGE).pot rm -f missing notexist srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m if [ -r missing -o -r notexist ]; then \ exit 1; \ fi mostlyclean: rm -f *.pox *.old.po cat-id-tbl.tmp rm -f .intltool-merge-cache clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES stamp-it rm -f *.mo *.msg *.cat *.cat.m *.gmo $(GETTEXT_PACKAGE).pot maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f Makefile.in.in Makefile POTFILES: @if test ! -f $@; then \ rm -f stamp-it; \ $(MAKE) stamp-it; \ fi stamp-it: POTFILES.in # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: dpkg-cross-2.6.13ubuntu1/po/ChangeLog0000664000000000000000000000000111477757122014267 0ustar dpkg-cross-2.6.13ubuntu1/po/POTFILES.in0000664000000000000000000000003711477757140014303 0ustar dpkg-cross Debian/DpkgCross.pm dpkg-cross-2.6.13ubuntu1/po/LINGUAS0000664000000000000000000000000111477757123013543 0ustar dpkg-cross-2.6.13ubuntu1/po/Makevars0000664000000000000000000000345711477757135014237 0ustar # Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = dpkg-cross # These two variables depend on the location of this directory. subdir = po top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = -L Perl --from-code=iso-8859-1 --keyword=_g # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Neil Williams # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = dpkg-cross@packages.debian.org # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = dpkg-cross-2.6.13ubuntu1/README.cvs0000664000000000000000000000420511321355406013546 0ustar ChangeLog vs debian/changelog ============================= dpkg-cross is a Debian native package and it seems pointless keeping both ChangeLog files. Future changes need only be specified in debian/changelog - the top level ChangeLog file can be considered 'closed'. Old files retained in CVS ========================= As dpkg-cross is merged gradually back into dpkg, parts of the old dpkg-cross will be removed from the package and simply stored in CVS. Maintaining the old versions during the current changes in the Debian::DpkgCross module is impractical and it is unlikely that the CVS versions will be usable with the released package as the old code is increasingly left behind. Functions listed as "Legacy code" in the module are likely to be removed in due course. The next stage is expected to be the migration of the cross-config.$arch files into dpkg-dev along with a method to replicate the gccross script currently used by dpkg-cross. The dpkg-cross 'core' functionality of preparing Architecture:all packages of development headers and shared objects for use in a cross build is expected to be retained outside dpkg until such time as the other components are successfully merged and a suitable method is available to implement support for cross-building within dpkg and apt. This will then result in both dpkg-cross and apt-cross being removed from Debian in preference for the integrated cross building support within dpkg and apt. The 2.x series of dpkg-cross will therefore aim to achieve its own removal. cvs-buildpackage and dpkg-cross =============================== cvs-buildpackage tends to require release-specific tags when using the default configuration. To prevent unnecessary noise in the dpkg-cross CVS, please consider creating or editing ~/.cvsdeb.conf with this setting: opt_tag='HEAD' Another useful settings is: conf_dpkg_options=('-us' '-uc' '-D' '-rfakeroot') Finally, set a usable root directory for cvs exports (this directory must exist before running cvs-buildpackage). e.g.: conf_rootdir='/opt/debian/cvsdeb' Alternatively, use: $ dpkg-buildpackage -ICVS -uc -us dpkg-cross-2.6.13ubuntu1/Debian/0000775000000000000000000000000012460301434013252 5ustar dpkg-cross-2.6.13ubuntu1/Debian/DpkgCross.pm0000664000000000000000000003720212460301361015512 0ustar package Debian::DpkgCross; use File::HomeDir; use File::Basename; use File::Temp qw/tempfile tempdir/; use POSIX qw(locale_h); use Locale::gettext; use Config::Auto; use Cwd; use Carp; use warnings; use strict; require Exporter; use vars qw (@ISA @EXPORT @EXPORT_OK $conffile $private_conffile $progname %archtable %std_tools %pkgvars %allcrossroots $arch $default_arch $deb_host_gnu_type $crossbase $crossprefix $crossdir $crossbin $crosslib $crossroot $crossinc $crosslib64 $crosslib32 $crosslibhf $crosslibn32 $crosslibo32 $crosslibsf $crosslibx32 $package $mode $tool_ %config @keepdeps %allcrossroots @removedeps $maintainer $arch_dir $compilerpath %debug_data); @ISA = qw(Exporter); @EXPORT = qw( read_config setup get_architecture create_tmpdir convert_path get_config get_version rewrite_pkg_name dump_debug_data check_arch convert_filename detect_arch _g ); =pod =head1 Name Debian::DpkgCross - Package of dpkg-cross commonly used functions The 2.x series of dpkg-cross is seeking to achieve its own removal by incorporating as much cross-building support as possible into dpkg itself. The number, scope and range of functions supported by this package is therefore only going to decrease. Any newly-written code using this package will need to keep up with changes in dpkg. Developers are recommended to join the debian-dpkg and debian-embedded mailing lists and keep their code under review. =head1 Copyright and License Copyright (C) 2004 Nikita Youshchenko Copyright (C) 2004 Raphael Bossek Copyright (c) 2007-2009 Neil Williams This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. =head1 Bugs Please report bugs via the Debian Bug Tracking System. =head1 Support All enquiries to the C<> mailing list. =cut # Determine if the system wide or user defined cross-compile configuration # have to be read. $conffile = "/etc/dpkg-cross/cross-compile"; %debug_data=(); my $home = File::HomeDir->my_home; # handle a missing $home value. $home = cwd if (!defined($home)); $private_conffile = "${home}/.dpkg-cross/cross-compile"; # Name of the calling application. $progname = basename($0); # Conversion table for Debian GNU/Linux architecture name ('$arch') to GNU # type. This lists additional arch names that are not already supported by # dpkg-architecture. # Need to support uclibc formats and remove those that differ from dpkg. # Migrated into the conf directory and allow anything the user # specifies in files in that directory. Use Config::Auto. $arch_dir = '/etc/dpkg-cross/archtable.d/'; %archtable = (); opendir (ARCHDIR, $arch_dir) or carp sprintf (_g("Unable to read %s: %s\n"), $arch_dir, $!); my @pathfiles=grep(!/^\.\.?$/, readdir ARCHDIR); closedir (ARCHDIR); foreach my $file (@pathfiles) { next if (-d "${arch_dir}$file"); my $conf = Config::Auto::parse("${arch_dir}$file", format => "colon"); foreach my $p (sort keys (%$conf)) { $p =~ s/'//g; if (not defined ($conf->{$p})) { carp sprintf(_g("syntax error for %s in %s\n"), $p, "${arch_dir}$file"); next; } my $line = (ref($conf->{$p}) eq 'ARRAY') ? join (' ', @{$conf->{$p}}) : $conf->{$p}; $line =~ s/\#.*$//; $line =~ s/'//g; $line =~ s/"//g; $archtable{$p} = $line; } } undef @pathfiles; =head1 MAKEFLAGS See bug #437507 Even if the other flags are needed CC, GCC and other compiler names should *NOT* be overridden in $ENV{'MAKEFLAGS'} because this prevents packages compiling and running build tools using CC_FOR_BUILD. CDBS packages need to declare an empty override variable in debian/rules: DEB_CONFIGURE_SCRIPT_ENV= Depending on progress with dpkg cross-building support, the remaining overrides may also be removed. Do not rely on these being set. =cut %std_tools = ( AS => "as", LD => "ld", AR => "ar", NM => "nm", RANLIB => "ranlib", RC => "windres"); $debug_data{'std_tools'} = \%std_tools; # Contains '$crossroot' definitions by '$arch' readed from configuration. # '$crossroot' is set by setup() if '$arch' is known from this hash table. %allcrossroots = (); =head1 read_config Read '$conffile' and save the definition in global variables all recognised variables. '$crossroot' will be set by setup(). Until setup() is called all "crossroot-" settings are stored within '%allcrossroots'. All package variables are stored within '%conf'. No variables are skipped. return: none =cut sub read_config { my $conf = Config::Auto::parse("$conffile"); @keepdeps = (); @removedeps = (); $default_arch = $conf->{'default_arch'}; $crossbase = $conf->{'crossbase'}; $crossprefix = $conf->{'crossprefix'}; $crossdir = $conf->{'crossdir'}; $crossbin = $conf->{'crossbin'}; $crosslib = $conf->{'crosslib'}; $crosslib64 = $conf->{'crosslib64'}; $crosslib32 = $conf->{'crosslib32'}; $crosslibhf = $conf->{'crosslibhf'}; $crosslibn32 = $conf->{'crosslibn32'}; $crosslibo32 = $conf->{'crosslibo32'}; $crosslibsf = $conf->{'crosslibsf'}; $crosslibx32 = $conf->{'crosslibx32'}; $crossinc = $conf->{'crossinc'}; $maintainer = $conf->{'maintainer'}; $compilerpath = $conf->{'compilerpath'}; my $kd = $conf->{'keepdeps'}; push @keepdeps, @$kd if (defined $kd); my $rd = $conf->{'removedeps'}; push @removedeps, @$rd if (defined $rd); # set defaults from the old cross-compile file # with one new one - a regexp for gcc-.*-base which # only ever contains a README anyway. my @defremove = qw/gcc binutils gpm cpp debianutils x11-common libpam-runtime xlibs-data debconf tzdata gcc-.*-base /; push @removedeps, @defremove; # the key is actually crossroots-${archtype} foreach my $acr (keys %$conf) { if ($acr =~ /^crossroot-(\S+)$/) { my $k = "crossroot-$1"; $allcrossroots{$1} = $conf->{"$crossroot"}; } } if (-f "$private_conffile") { # also check $private_conffile and merge $conf = Config::Auto::parse("$private_conffile"); $default_arch ||= $conf->{'default_arch'}; $crossbase ||= $conf->{'crossbase'}; $crossprefix ||= $conf->{'crossprefix'}; $crossdir ||= $conf->{'crossdir'}; $crossbin ||= $conf->{'crossbin'}; $crosslib ||= $conf->{'crosslib'}; $crosslib64 ||= $conf->{'crosslib64'}; $crosslib32 ||= $conf->{'crosslib32'}; $crosslibhf ||= $conf->{'crosslibhf'}; $crosslibn32 ||= $conf->{'crosslibn32'}; $crosslibo32 ||= $conf->{'crosslibo32'}; $crosslibsf ||= $conf->{'crosslibsf'}; $crosslibx32 ||= $conf->{'crosslibx32'}; $crossinc ||= $conf->{'crossinc'}; $maintainer ||= $conf->{'maintainer'}; $compilerpath ||= $conf->{'compilerpath'}; $kd = $conf->{'keepdeps'}; push @keepdeps, @$kd if(defined $kd); $rd = $conf->{'removedeps'}; push @removedeps, @$rd if (defined $rd); # the key is actually crossroots-${archtype} foreach my $acr (keys %$conf) { if ($acr =~ /^crossroot-(\S+)$/) { my $k = "crossroot-$1"; $allcrossroots{$1} = $conf->{"$crossroot"}; } } } } =head1 get_config Return the current configuration from read_config as a hash reference. =cut sub get_config { return \%config; } =head1 get_version Return the current DpkgCross version string used by all dpkg-cross scripts. =cut sub get_version { my $query = `dpkg-query -W -f='\${Version}' dpkg-cross`; (defined $query) ? return $query : return "2.5.5"; } =head1 dump_debug_data Return a hashtable of assorted debug data collated during the current run that can be processed using Data::Dumper. =cut sub dump_debug_data { return \%debug_data; } =head1 rewrite_pkg_name Converts a package name into the dpkg-cross package name. $1 - the package name to check and convert if needed return - the cross-package name =cut sub rewrite_pkg_name { my $name = shift; $name .= "-$arch-cross" if $name !~ /-\Q$arch\E-cross$/; return $name; } =head1 convert_filename($) Converts an original .deb filename into the dpkg-cross .deb filename or converts a dpkg-cross .deb filename into the original .deb filename. returns undef on error =cut sub convert_filename { my $name = shift; return undef if (!defined($name)); return undef if ($name !~ /\.deb$/); my ($ret, $a); my @parts = split (/_/, $name); return undef if (!@parts); if ($parts[0] =~ /\-([a-z0-9_]+)\-cross$/) { # return the original name $a = $1; my $b = $parts[0]; $b =~ s/\-$a\-cross//; return undef if (!defined check_arch($a)); $ret = $b . "_" . $parts[1] . "_" . $a . ".deb"; } else { # return the cross name return undef if (!defined($parts[2])); $a = $parts[2]; $a =~ s/\.deb//; return undef if (!defined check_arch($a)); my $pkg = $parts[0] . "-${a}-cross"; $ret = "${pkg}_" . $parts[1] . "_all.deb"; } return $ret; } =head1 get_architecture Returns the current architecture. return: Current architecture or empty if not set. =cut sub get_architecture { $debug_data{'default_arch'} = $default_arch; $debug_data{'arch'} = $arch; $debug_data{'env_arch'} = $ENV{'ARCH'}; $debug_data{'env_cross_arch'} = $ENV{'DPKGCROSSARCH'}; return $ENV{'DPKGCROSSARCH'} || $ENV{'ARCH'} || $arch || $default_arch; } =head1 check_arch($arch) Checks that the supplied $arch is (or can be converted to) a DEB_HOST_GNU_TYPE that can be supported by dpkg-cross. returns the DPKG_HOST_GNU_TYPE or undef =cut sub check_arch { my $check = shift; # if no arch defined, return the special value: 'None' # which mimics the debconf handling. return "None" unless (defined $check); my $deb_host_gnu_type; chomp($deb_host_gnu_type = `CC="" dpkg-architecture -f -a$check -qDEB_HOST_GNU_TYPE 2> /dev/null`); $deb_host_gnu_type ||= $archtable{$check}; $arch = $check if (defined($deb_host_gnu_type)); return $deb_host_gnu_type; } =head1 setup Set global variables '$arch', '$crossbase', '$crossbin', '$crosslib32', '$crossdir', '$crossinc', '$crosslib', '$crosslib64', '$crossprefix', '$compilerpath' and '$deb_host_gnu_type' to defaults and substitute them with variables from '%conf' and '$arch'. return: none =cut sub setup { my ($var_, $os_, $scope_); # Set '$arch' to defaults if not already specified. $arch = &get_architecture(); die sprintf(_g("%s: Architecture is not specified.\n"), $progname) unless ($arch); $deb_host_gnu_type = `CC="" dpkg-architecture -f -a$arch -qDEB_HOST_GNU_TYPE 2> /dev/null`; chomp($deb_host_gnu_type); $deb_host_gnu_type ||= $archtable{$arch}; # Finalize, no subst possible crossbase. $crossbase ||= "/usr"; # Set defaults for internal vars, if not set ... $crossprefix ||= $ENV{'CROSSPREFIX'} || "${deb_host_gnu_type}-"; $crossdir ||= "\$(CROSSBASE)/${deb_host_gnu_type}"; $crossbin ||= "\$(CROSSDIR)/bin"; if (exists $allcrossroots{$arch}) { $crosslib ||= "\$(CROSSROOT)/lib"; $crossinc ||= "\$(CROSSROOT)/usr/include"; $crossroot = $allcrossroots{$arch}; } else { $crosslib ||= "\$(CROSSDIR)/lib"; $crossinc ||= "\$(CROSSDIR)/include"; } $crosslib64 ||= $crosslib . "64"; $crosslib32 ||= $crosslib . "32"; $crosslibhf ||= $crosslib . "hf"; $crosslibn32 ||= $crosslib . "n32"; $crosslibo32 ||= $crosslib . "o32"; $crosslibsf ||= $crosslib . "sf"; $crosslibx32 ||= $crosslib . "x32"; $config{'crossbase'} = $crossbase; $config{'crossprefix'} = $crossprefix; $config{'crossdir'} = $crossdir; $config{'crossbin'} = $crossbin; $config{'crosslib'} = $crosslib; $config{'crosslib64'} = $crosslib64; $config{'crosslib32'} = $crosslib32; $config{'crosslibhf'} = $crosslibhf; $config{'crosslibn32'} = $crosslibn32; $config{'crosslibo32'} = $crosslibo32; $config{'crosslibsf'} = $crosslibsf; $config{'crosslibx32'} = $crosslibx32; $config{'crossinc'} = $crossinc; $config{'crossroot'} = $crossroot; # substitute references in the variables. foreach my $key (keys %config) { next if $key eq "crossbase" or $key eq "maintainer"; my $val = $config{$key}; next if (!defined($val)); $val =~ s/\$\(CROSSDIR\)/$crossdir/; $val =~ s/\$\(CROSSBASE\)/$crossbase/; $config{$key} = $val; } # read the evaluated versions $crossbase = $config{'crossbase'}; $crossprefix = $config{'crossprefix'}; $crossdir = $config{'crossdir'}; $crossbin = $config{'crossbin'}; $crosslib = $config{'crosslib'}; $crosslib64 = $config{'crosslib64'}; $crosslib32 = $config{'crosslib32'}; $crosslibhf = $config{'crosslibhf'}; $crosslibn32 = $config{'crosslibn32'}; $crosslibo32 = $config{'crosslibo32'}; $crosslibsf = $config{'crosslibsf'}; $crosslibx32 = $config{'crosslibx32'}; $crossinc = $config{'crossinc'}; } =head1 create_tmpdir($basename) Safely create a temporary directory $1: Directory basename (random suffix will be added) return: Full directory pathname, undef if failed =cut sub create_tmpdir { my $name = shift; my $pd = $ENV{'TMPDIR'} && -d $ENV{'TMPDIR'} ? $ENV{'TMPDIR'} : '/tmp'; return undef unless -d $pd; my $dir; eval { $dir = tempdir("$name.XXXXXXXX", DIR => $pd) }; print("$@"), return undef if $@; return $dir; } =head1 convert_path($multiarch, $path) Convert path, substituting '$crossinc', '$crosslib', '$crosslib64', '$crosslib32', '$crossdir', allowing for multiarch paths. This function will be used while building foreign binary packages or converting GCC options. $1: Multiarch sub-directory to strip $2: Directory (and file) to convert. return: Converted path. =cut sub convert_path { my $multiarch = $_[0]; my $path = &simplify_path ($_[1]); if ($path =~ /^\/usr\/include\/($multiarch)?/) { $path = "$crossinc/$'"; } elsif ($path =~ /^(\/usr)?\/lib\/($multiarch)?/) { $path = "$crosslib/$'"; } elsif ($path =~ /^(\/usr)?\/lib64\/($multiarch)?/) { $path = "$crosslib64/$'"; } elsif ($path =~ /^(\/usr)?\/lib32\/($multiarch)?/) { $path = "$crosslib32/$'"; } elsif ($path =~ m:^(/emul/ia32-linux/(usr/)?lib/($multiarch)?):) { $path = "$crosslib32/$'"; } elsif ($path =~ /^(\/usr)?\/libhf\/($multiarch)?/) { $path = "$crosslibhf/$'"; } elsif ($path =~ /^(\/usr)?\/libn32\/($multiarch)?/) { $path = "$crosslibn32/$'"; } elsif ($path =~ /^(\/usr)?\/libo32\/($multiarch)?/) { $path = "$crosslibo32/$'"; } elsif ($path =~ /^(\/usr)?\/libsf\/($multiarch)?/) { $path = "$crosslibsf/$'"; } elsif ($path =~ /^(\/usr)?\/libx32\/($multiarch)?/) { $path = "$crosslibx32/$'"; } elsif ($path =~ /^\/usr\/\w+-\w+(-\w+(-\w+)?)?\//) { # leave alone } else { $path =~ s/^\/usr/$crossdir/; } return $path } =head1 simplify_path($path) Simplify path. Remove duplicate slashes, "./", "dir/..", etc $1: Path to simplify. return: Simplified path. =cut sub simplify_path { my $path = $_[0]; # This will remove duplicate slashes $path =~ s/\/+/\//g; # This will remove ./ while ($path =~ s/(^|\/)\.\//$1/) {} $path =~ s/(.)\/\.$/$1/; # This will remove /.. at the beginning while ($path =~ s/^\/\.\.(.)/$1/) {} # Previous REs could keep standalone /. or /.. $path =~ s/^\/\.(\.)?$/\//; # Remove dir/.. # First split path into leading ../.. (if any) and the rest # Then remove XXX/.. substring while it exists in the later part my ($pref, $suff); if ($path =~ /^(\.\.(\/\.\.)*)(\/.*)$/) { ($pref, $suff) = ($1, $3); } else { ($pref, $suff) = ("", $path); } while ($suff =~ s/(^|\/)[^\/]+\/\.\.(\/|$)/$1/) {} $path = $pref . $suff; # Replace possibly generated empty string by "." $path =~ s/^$/./; # Remove possible '/' at end $path =~ s/([^\/])[\/]$/$1/; return $path; } sub _g { return gettext(shift); } 1; dpkg-cross-2.6.13ubuntu1/cross-compile.sample0000664000000000000000000000070211543217415016057 0ustar # # /etc/dpkg-cross/cross-compile: configuration for dpkg-cross # # default architecture for dpkg-cross (to avoid always typing the -a option # if you do cross installations only for one architecture) # Note: default_arch is managed by debconf - it can be overridden # if ~/.dpkg-cross/cross-compile exists or by specifying an # architecture on the command line. # Use '[sudo] dpkg-reconfigure dpkg-cross' to change this value. #default_arch = m68k dpkg-cross-2.6.13ubuntu1/ChangeLog0000664000000000000000000006340411543552662013665 0ustar 2007-08-26 Neil Williams * Remove the diversions upon installation. * buildcross: new shell library to replace perl dpkg-buildpackage diversion * Closing this ChangeLog in preference for debian/changelog to keep all future changes in 2.0.0 in one place. (This file was never installed anyway.) (Recommend using dch and debcommit.) 2007-08-21 Neil Williams * dpkg-buildpackage : Implement cleaner DEBUG output support. Implement a --no-merge option to allow separate .changes files, clean up the --help output and provide a clean --version option. * dpkg-cross : replace %archtable functionality (now in the module) with a check_arch exported function. * dpkg-shlibdeps : revert to exec as system doesn't provide the pipe * gccross : use new DEBUG output support and File::Basename. * Debian/DpkgCross.pm : support output of debug data from the module. add $crossroot to %config. Reinstate the clearance of MAKEFLAGS. Any packages that fail to build without MAKEFLAGS overrides are buggy! * debian/control : Conflict against old versions of apt-cross and emdebian-tools that would look for dpkg-cross.pl 2007-08-20 Neil Williams * dpkg-cross : move rewrite_pkg_name into module, remove redundant -w in shebang * dpkg-shlibdeps : fix indents, use strict and call dpkgcross_application via the module * gccross : call simplify_path via the module and obtain the module config * objcopy, objdump, strip : test removal of &read_config() pending removal of new module inclusion * Debian/DpkgCross.pm : export rewrite_pkg_name. require arch and mode for setup_cross_env. * all : Update FSF address. * dpkg-buildpackage : remove debug code, set $progname from File::Basename and $0. Handle undefined variables in strict mode. 2007-08-14 Neil Williams * debian/changelog, debian/control, debian/dpkg-cross.install, debian/libdebian-dpkgcross-perl.install, debian/rules : beginning refactoring. Migrate to CDBS and prepare for a separate Debian::DpkgCross Perl module package. * debian/NEWS.Debian -> debian/News : renamed * dpkg-buildpackage, gccross, dpkg-cross : adding outline debug code (will make optional later) * Debian/DpkgCross.pm : migrating dpkg-cross.pl to a perl module Check dpkg-architecture before falling back to internal tables. Fix broken CC_FOR_BUILD handling in diverted dpkg-buildpackage. * cross-config* : moving config files to separate directory * cross-config.common : Removed. (Closes: #72405) * cross-config.${arch_os} : Removed (Closes: #284275) 2007-07-05 Neil Williams * dpkg-buildpackage : Add --help support as well as -h and fix typo that excluded the call to exit. Closes #416437 * dpkg-cross : Possible fix for #426333 virtuoso's source transform fix to always save the 'Source:' header. * dpkg-cross.pl : typo (fix by virtuoso). * debian/control : Add XS-X-Vcs-Browser link to debian/control. 2007-07-01 Neil Williams * dpkg-shlibdeps : warn is not one of our subroutines so omit the & prefix and add a newline to clean up the message. 2007-05-14 Neil Williams * dpkg-cross : set cross2cross as the default, remove undocumented option to set it and fix two typos 2007-05-09 Neil Williams * dpkg-cross, dpkg-cross.pl : add support for "cross" -dev packages for non-default libc. #422871 * dpkg-cross : symlinks in linux-header packages. #379004 * cross-config.armel : Migrate experimental armel support into unstable. 2007-01-21 Neil Williams * dpkg-cross.pl : Fix use of uninitialised values to enable scripts using dpkg-cross.pl to use the -w switch. 2006-10-15 Nikita V. Youshchenko * dpkg-cross.pl: Detect 64bit powerpc binaries and select proper tools for them. 2006-09-22 Nikita V. Youshchenko * dpkg-cross: Don't discard .so symlinks from library development packages. Fix by Alexander Shishkin . 2006-07-24 Nikita V. Youshchenko * dpkg-cross: when converting package, move all files from /usr/src/ to $crossdir/src/ - needed for kernel headers packages. Suggested by Marcus Better . * dpkg-buildpackage: add -nw option to disable gccross wrapper. 2006-07-23 Nikita V. Youshchenko * dpkg-cross: when converting package, allow external symlinks that point under /usr/src/ - this is needed for kernel headers packages. 2006-07-20 Nikita V. Youshchenko * dpkg-cross: fixed bug processing packages with pre-depends. 2006-06-22 Nikita V. Youshchenko * gccross: be more verbose about using the wrapper. 2006-05-18 Nikita V. Youshchenko * Rased version-dependency on debhelper to 5. * Added debhelper also to Build-Depends, not only Build-Depends-Indep. 2006-05-17 Nikita V. Youshchenko * Added tzdata to default 'removedeps' (request from NIIBE Yutaka ); also added gcc-4.1-base to 'keepdeps'. * Set maintainer to Debian Embedded Group , set several uploaders. * Set Standards-Version to 3.7.2, no changes needed. * Increased DH_COMPAT to 5. 2006-04-18 Nikita V. Youshchenko * dpkg-cross.pl: more fixes from Volker Grabsch - added w32 stuff to get_tool tables, fix for setting makeflags. * dpkg-cross.pl: made $crossprefixtable{'i386'}[0] to be i486-linux-gnu- 2006-04-13 Nikita V. Youshchenko * dpkg-cross.pl: fixed a typo in variable setting, found by Volker Grabsch . * dpkg-cross.pl: added nm, ar, ranlib, windres to %std_tools, request from Volker Grabsch . 2005-12-08 Nikita V. Youshchenko * debian/NEWS.Debian: added at item for 1.26 package. 2005-12-03 Nikita V. Youshchenko * dpkg-buildpackage: when merging .changes files, remove 'source' from arch field of the resulting file name - this is nearer to normal dpkg-buildpackage behaviour. Related to #322926. 2005-12-01 Nikita V. Youshchenko * objcopy: added a wrapper, Seems to be needed by dh_strip called from cross-gcc 4.0 packages building. 2005-11-06 Nikita V. Youshchenko * objdump: added a wrapper, based on strib wrapper. Seems to be needed by dh_strip called from cross-gcc 4.0 packages building. 2005-10-29 Nikita V. Youshchenko * dpkg-cross: if dpkg-deb -b failes, output errors even if not verbose. * dpkg-cross, dpkg-cross.pl: fix several typos. 2005-10-28 Nikita V. Youshchenko * dpkg-cross.pl: added armeb support. * dpkg-cross.pl: added variants with -gnu to %crossprefixtable. * cross-config.{arm,armeb} - new files from Lennert Buytenhek . 2005-10-26 Nikita V. Youshchenko * dpkg-cross: added provides-depends logic to handle layout versions 2005-10-20 Nikita V. Youshchenko * dpkg-cross: fixed a typo in pre-depends handling. 2005-10-19 Nikita V. Youshchenko * cross-compile.example, cross-compile.sgml, dpkg-cross.pl: removed any reference to unused 'crossinfo' variable. * debian/control: updated Standarts-Version. * dpkg-cross.pl, cross-compile.example, cross-compile.sgml: fast and dirty path change (addition of -gnu). * dpkg-buildpackage: fixed help text to print dpkg-cross version and not to reference obsolete documentation. * dpkg-cross.pl: set all *_HOST_* vars known by newer dpkg-architecture to environment. * debian/control: depend on dpkg-dev >= 1.13.9. 2005-10-16 Nikita V. Youshchenko * dpkg-buildpackage: fixed a typo ('Desription'). * cross-compile.example: added gcc-*-base to keepdeps. 2005-05-16 Nikita V. Youshchenko * dpkg-shlibdeps: addded "elf64-x86-64" and "elf64-powerpc" to @crosslib64formats, as GOTO Masanori requested. 2005-05-16 Nikita V. Youshchenko * cross-config.amd64: new file, with content from Alexandra N. Kossovsky 2005-05-13 Nikita V. Youshchenko * dpkg-cross.pl: patch from Alexandra N. Kossovsky that adds amd64 as supported target. 2005-05-05 Nikita V. Youshchenko * dpkg-cross: create md5sums files for -arch-cross packages. * cross-compile.example: add lines for glibc package, suggested by Jorik Jonker . * cross-config.m32r: included patch from #284439. * dpkg-cross: set umask earlier, to have 0755 permissions on the temporary directory. 2005-02-23 Nikita V. Youshchenko * debian/preinst, debian/postinst, debian/prerm: cleaned up config file moving code; move config files if upgrading from version less than 1.24 (because 1.24 is going to be the first version that uses /etc/dpkg-cross) * dpkg-cross.pl, cross-compile.sgml, crosstools: use ~/.dpkg-cross/ instead of ~/.dpkg/. * Makefile, dpkg-buildpackage, gccross.sgml: moved gccross to /usr/share/dpkg-cross/. * Added NEWS.Debian, with a note about moving conffiles. 2005-02-21 Raphael Bossek * Makefile, cross-compile.example, cross-compile.sgml, crosstools, debian/README.debian, debian/changelog, dpkg-cross.pl, dpkg-cross.sgml, gccross.sgml: moved configuration files to /etc/dpkg-cross * debian/postrm, debian/preinst, debian/prerm: moving configuration files to /etc/dpkg-cross while upgrade. Move configuration file to /etc/dpkg while downgrade. Added support for --purge. Support branch-debian_version_1_22 versions * debian/changelog: create new release 1.24 2005-02-09 Nikita V. Youshchenko * dpkg-buildpackage: don't sign changes file if dpkg-buildpackage.orig failed. * debian/control: changed package short description not to start with capilat letter, to make lintian quiet. 2005-01-10 Nikita V. Youshchenko * dpkg-cross.pl: add create_tmpdir() routine to create a temporary directory safely * dpkg-cross, dpkg-buildpackage: use create_tmpdir(). * dpkg-buildpackage: removed workarounds of ancient dpkg-buildpackage.orig bugs related to unwanted .dsc signing * dpkg-buildpackage: always pass -uc to dpkg-buildpackage.orig, and sing explicitly after possible merge of .changes files. 2005-01-06 Nikita V. Youshchenko * dpkg-cross.pl: introduced DPKGCROSSARCH, as Raphael suggested. 2005-01-02 Nikita V. Youshchenko * dpkg-buildpackage: add -uc to dpkg-buildpackage.orig call only if existing .changes file does not contain data for $arch. 2004-12-16 Nikita V. Youshchenko * dpkg-cross.pl: add convert_ld_library_path() function that removes everything from LD_LIBRARY_PATH expect paths that start from /usr/lib or /usr/share. * strip, dpkg-shlibdeps: use convert_ld_library_path() instead of unsetting LD_LIBRARY_PATH to avoid fakeroot breakage. 2004-12-03 Nikita V. Youshchenko * dpkg-cross.pl: implemented 'unset' feature for configuration file. * cross-compile.sgml: document unset feature. * cross-compile.sgml: fix a typo. * cross-compile.example: unset LD for e2fsprogs; comment cleanup. 2004-12-02 Nikita V. Youshchenko * dpkg-shlibdeps, dpkg-cross.pl: when running external tools which output is parsed, set LC_ALL=C. * dpkg-shlibdeps: remove usused sub getsoname. 2004-11-30 Nikita V. Youshchenko * strip: handle strip options with parameters in strip wrapper. * dpkg-shlibdeps: don't try to call objdump on non-binaries. * dpkg-cross.pl: don't set STRIP variable to $(TARGET)-strip, we have strip wrapper now. * cross-compile.example: remove example setting STRIP, it is no longer valid with strip wrapper. * dpkg-cross.pl: don't set cross names for 'ar' and 'ranlib' because these tools are actially architecture-independent, and additional vars break some builds. Merged hashes for gcc and binutils vars into single %std_tools. 2004-11-29 Nikita V. Youshchenko * dpkg-shlibdeps, strip: unset LD_LIBRARY_PATH. We don't use it, and it can lead to attempt to link non-native libraries into tools that are called. * dpkg-cross.pl: in tool detection code, use 'file -L' to dereference symlinks. 2004-11-15 Nikita V. Youshchenko * dpkg-buildpackage: call dpkg-buildpackage.orig with -uc if .changes file merge is going to happen after package build 2004-11-05 NIIBE Yutaka * dpkg-cross.pl, cross-config.m32r: added support for M32R target architecture. 2004-11-05 David Schleef * debian/changelog: release 1.20 2004-10-30 Nikita V. Youshchenko * debian/copyright: mention /usr/share/common-licenses/GPL. * Makefile: install dpkg-cross.pl to /usr/share/perl5, and don't install it executable. * debian/rules: some cleanup. * debian/control: move Build-Depends: to Build-Depends-Indep. * debian/lintian: add lintian override file to stop lintian complains about no manual pages for commands that dpkg-cross package diverts. * debian/rules: install lintian overrides file. * debian/control: changed Standards-Version to 3.6.1 2004-10-27 Raphael Bossek * gccross: Typo in detection of recursive gccross calls fixed * gccross.sgml: Documentation improvements. 2004-10-27 Nikita V. Youshchenko * dpkg-buildpackage: when setting up temporary directory with gccross symlinks, link all names that look like available compilers for target. 2004-10-19 Nikita V. Youshchenko * cross-compile.example, cross-compile.sgml, dpkg-cross.pl: change hardcoded default of crossbase to /usr 2004-10-13 David Schleef * debian/changelog: upload a new version 2004-10-05 Nikita V. Youshchenko * dpkg-cross.pl: fixed a typo in crossprefixtable regarding m68k and s390x architectures. 2004-10-04 Nikita V. Youshchenko * gccross: treat /usr/lib/gcc same as /usr/lib/gcc-lib, since the former is used by gcc-3.4 2004-10-02 Nikita V. Youshchenko * gccross: changed to use zero-configuration scheme, as discussed with Raphael. * gccross.sgml: updated documentation. * dpkg-cross.pl: renamed several vars in setup() to match convension that *host* are about the target (i.e. system which will host software being built), and *build* are about the host (i.e. system on which build takes place). * dpkg-buildpackage: enabled automatic use of gccross, by creating a temporary directory, making gccross symlinks there, and adding the directory to the beginning of PATH. 2004-09-16 Raphael Bossek * dpkg-cross.pl: added 'ppc' as synonym of 'powerpc' in tool detection tables. * dpkg-cross.pl: added get_architecture() as a better routine to get target architecture. * cross-compile.sgml: added missing description of default_arch 2004-08-26 Nikita V. Youshchenko * dpkg-cross: fix a typo in error message about wrong package architecture. 2004-08-20 Nikita V. Youshchenko * dpkg-cross.pl: implemented tool (i.e. strip) autodetection, based on analysing of 'file' output. Removed old detection routines based on $arch. * Makefile crosstools: added an example configuration file to override tool autodetection. * Makefile strip dpkg-cross.pl: added a strip wrapper that chooses which strip to call for given arguments, and modified setup_cross_env() to make use if ot. * dh_strip: removed, see #265620 for details. * debian/preinst debian/postinst debian/postrm: no longer divert dh_strip, and remove old diversion if it exists. * dpkg-shlibdeps: use new procedure to locate objdump. * debian/control: depend on 'file' because it is used by autodetection code. depend on binutils because 'ar' is used by autodetection code. * dpkg-cross-convert dpkg-cross-convert.sgml: removed. * debian/postinst: don't call dpkg-cross-convert any longer. * dpkg-cross: fixed a typo in -a argument parsing. 2004-07-22 Nikita V. Youshchenko * dpkg-cross.pl: fix and enhance simplify_path(). * gccross: call convert_path() only for absolute pathnames; simplify. 2004-07-22 Raphael Bossek * gccross: tool for wrapping GCC calls in sense of cross-compile configuration * Makefile, cross-compile.sgml, gccross.sgml, cross-compile.5, gccross.1: documentation of gccross and $compilerpath added * cross-compile.sgml, dpkg-cross-convert.sgml, dpkg-cross.sgml, cross-compile.sgml, cross-compile.1, dpkg-cross-convert.1, dpkg-cross.1, cross-compile.5: removed German wording for author * dpkg-cross.pl, dpkg-cross: convert_path() and simplify_path() moved to dpkg-cross.pl. convert_path() fixed for /usr/(src|lib) directories so files are accepted. simplify_path() does not corrupt relative ../.. paths. $compilerpath as new configuration parameter introduced for gccross. 2004-07-10 Nikita V. Youshchenko * dpkg-cross.pl, dpkg-cross, dpkg-shlibdeps: implemented support for lib64. * cross-compile.sgml: documented crosslib64 variable. 2004-07-07 Nikita V. Youshchenko * dpkg-cross.pl: removed debugging code that came to CVS somehow. * dpkg-cross.pl: fixed a typo in call to subst() that caused variable values to be lost. 2004-06-24 David Schleef * debian/changelog: upload 0.16 * debian/control: conflict with broken pkg-config * dpkg-cross.pl: revert PKG_CONFIG_LIBDIR change 2004-06-23 Nikita V. Youshchenko * dpkg-cross.pl: use $crossprefix-gcc -E as preprocessor if $crossprefix-cpp is not available 2004-06-22 Raphael Bossek * dpkg-buildpackage: moved implementation for setup_cross_env() and related variables to dpkg-cross.pl as part of * dpkg-cross.pl: documentation. dpkg-shlibdeps specific implementation removed. Using new variable name convention for local definitions my $name_. Support for pre-processor (CPP) crossprefix for MAKEFLAGS added. Fixed pkg-config's PKG_CONFIG_LIBDIR to PKG_CONFIG_PATH. General implementation for calling diverted application otherwise setup $arch (dpkgcross_application()). Substitution works without warning if an environment variable is defined but empty in sence of a string. Fixed $crossroot initialisation if $default_arch is used for $arch after reading the configuration. * dpkg-cross: fixed command line options parsing. Fixed usage of $default_arch if ARCH or $arch are not set. * dh_strip, dpkg-shlibdeps: using dpkgcross_application() as wrapper for dpkg-buildpackage -a and calling the diverted application. 2004-06-21 Nikita V. Youshchenko * Makefile: don't remove autoconf/m4 in clean target because it's in CVS * dpkg-cross-convert.1, dpkg-cross.1, cross-compile.5: removed - those files are now generated from DocBook source * Makefile: remove $(MAN1) and $(MAN5) in clean target * dpkg-cross.sgml: minor editing * debian/control: Build-Depend on docbook-to-man * dpkg-cross: minor editing of --help text 2004-06-18 Raphael Bossek * dpkg-cross-convert.sgml, dpkg-cross.sgml, cross-compile.sgml: DocBook SGML based manual page documentation introduced. This should simplify future work; http://www.docbook.org. Fixed some documentation errors. * autoconf/autogen.sh: fixed usage of GNU AutoTools by reordering the call flow and removing unneeded tools. * autoconf/configure.ac: a more clean implementation based on the latest GNU Autoconf documentation. * autoconf/Makefile.am: setup for new GNU AutoTools. * autoconf/config.guess, autoconf/config.sub: removed. autogen.sh have to be called. Debian package `autotools-dev' should be installed in this case. * Makefile: clean of autoconf directory. Creation for manual pages if SGML files change. Extended the clean target so the autoconf directory keeps clean and will not be archived. autogen.sh have to called first if an new configuration is required. * dpkg-cross: don't forget about -A in --help output 2004-06-16 Nikita V. Youshchenko * Makefile, dh_strip: added a script by Raphael Bossek, based on dh_strip from debhelper, that tries to use correct strip binary for cross targets * debian/{preinst, postrm}: divert dh_strip * dpkg-cross, dpkg-buildpackage: removed checks for old-style installation * dpkg-shlibdeps: removed setting of unused variable $arch_elf 2004-06-16 Nikita V. Youshchenko * dpkg-cross: updated copyright information. * cross-compile.1: documented ~/.dpkg/cross-compile. * debian/rules: removed most commented lines - those just pollute the file and make it less readable. * dpkg-cross.pl: removed calls to setup() and read_config() and setting of $arch_elf - that broke dpkg-cross -b. 2004-06-15 Raphael Bossek * dpkg-buildpackage.in: renamed to dpkg-buildpackage. * dpkg-cross-convert.in: renamed to dpkg-cross-convert. * dpkg-cross.in: renamed to dpkg-cross. * dpkg-shlibdeps.in: renamed to dpkg-shlibdeps. * confinit, conf.sed, confsub: removed due to introduction of the dpkg-cross.pl package. * dpkg-buildpackage, dpkg-cross-convert, dpkg-cross, dpkg-shlibdeps: instead of substitude the implementation by sed the dpkg-cross.pl package is required. Also the Roman's email and copyright notice updated. * dpkg-cross.pl: new introduced file as replacement for sed substitution. Contains common used functions and variables required by the dpkg-cross tools. * dpkg-shlibdeps: using find_objdump() from dpkg-cross.pl. Fixed storage of shared libraries and whose package resolve. * Makefile: file substitution removed and installationm of dpkg-cross.pl package added. Installation of configuration files moved from debian/rules. * debian/rules, debian/postinst, debian/postrm, debian/preinst: updated version based on dh_make template. * debian/postrm: removing divertion of dpkg-cross applications. * debian/rules: installation routine moved to Makefile. * debian/control: maintainer field updated. * debian/copyright: more details on the copyright chistory added. * debian/conffiles: file removed because new debhelper (DH_COMPAT=3) tools classified configuration files at its own. === release 1.15 === 2004-06-14 David Schleef * cross-compile.5: Change section, noticed by lintian * debian/changelog: Upload 1.15 * debian/conffiles: Add cygwin-i386, noticed by lintian 2004-06-08 Nikita Youshchenko * dpkg-shlibdeps.in: honour SHLIBSLOCALFILE and SUBSTVARSFILE environment variables as default locations for shlibs.local and substvars files. 2004-06-07 Nikita Youshchenko * dpkg-cross.in: create /usr/share/doc/XXX directory in converted packages, and put a readme file there. * dpkg-cross.in: accept -A|--convert-anyway option, that will make dpkg-cross to convert package even it does not provide any files useful for cross-compilation. * dpkg-cross.1: document -A option. 2004-06-06 Nikita Youshchenko * dpkg-cross.in: rewrite dpkg-cross -b procedure, using different logic. Now it first completely unpacks source deb, and only then decides what files to move or modify. Now it should not loose asm/arch symlink when processing linux-kernel-headers. 2004-06-03 Nikita Youshchenko * confinit, dpkg-cross.in, cross-compile.example, cross-compile.5: Replaced hardcoded @omit_depends with configuration parameters 'keepdeps' and 'removedeps', documented it, provided defaults in cross-compile.example * dpkg-buildpackage.in: don't sign merged changes file if -uc flag is given * dpkg-buildpackage.in: set modified PATH to environment, not to MAKEFLAGS * dpkg-buildpackage.in: when merging changes files, also merge Binary: and Description: data * dpkg-cross.in: If effective user id of dpkg-cross is non-zero. try to run 'dpkg -b' under fakeroot. Warn that files in the package being created will have incorrect owner if fakeroot is not available. * debian/control: suggest fakeroot * dpkg-cross.in: fix typo in help text (--version -> --verbose) * dpkg-cross.in: really print an error message if package file being converted can't be open * dpkg-cross.in: allow to convert architecture: all packages (such package may contain headers, examples include x-dev and alsa-headers) * dpkg-cross.in: fail with appropriate message on attempt to convert already-converted package * dpkg-cross.in: accept headers-only packages by not forgetting to count headers in total files count * dpkg-cross.in: avoid error message from find if no pkgconfig files are present in package being converted * dpkg-cross.in: detect ldscripts and convert them properly * dpkg-cross.in: removed some forgotten debug prints * dpkg-shlibdeps.in: process correctly sonames in form name-version.so (e.g. libdb-4.2.so) * dpkg-shlibdeps.in: when searching packages that provide libraries, don't pass a library to 'dpkg --search' if this library is mentioned in shlibs.local or shlibs.override * confsub, dpkg-buildpackage.in, cross-compile.example, cross-compile.5: Implemented more powerful variable setting control, documented it, provided examples in cross-compile.example * debian/rules: move package build commands from build-arch to build-indep * debian/rules: don't call dh_strip and dh_shlibdeps - both are not needed for this package * debian/changelog: provided information about my unofficial releases 1.14.1 - 1.14.6 2004-06-03 David Schleef * Makefile: dummy commit * ChangeLog: start ChangeLog dpkg-cross-2.6.13ubuntu1/website/0000775000000000000000000000000012147740004013534 5ustar dpkg-cross-2.6.13ubuntu1/website/alioth-logo.png0000664000000000000000000000422411543552662016474 0ustar PNG  IHDR4}PLTEֽ޽ֵΥƜƜ{{{{sskkcckkccZZRRJJ{RRBBsJJBB{99k99s11k11s))c))k!!Z!!cRZcJRZJR19BJ/tEXtSoftwaregif2png 2.4.63yIDATxZkwH@Wu$ !0-`&%6'h?V5+q'(p, uls63Mkp0L6tCoɝlC2W~oD%8pK0 ];A1QHb;HpmPdQ}=;د}[B6`@%j8B ݉,Oe~OZmh=/-xVA+9S,"e]_fZˈS[kXF<:#?eF'Zm gq/7=c]Udzͫ,J-tCoSUuq/+NEOt&bP?T[GnbKıF-nY(-$I[>&{ndCS;vd[E")¨ʩ#rnÀ#12U'ș&|P<&(=d%s8zڃ`d Bs24PTW:?nB4އye2$-.Wy? M+f%(Sֳhg9V dUiMVgmH Mx@yЉS Z`SH[0 L.nW-.С=xtjINI7:ۢBʑ~2|V&U#aL+  |-om֋zFӴM=0'BYxF#aO kF*\ݜNET z,+DlK*@ ʂqe/ V`|N["Xb v5S)QJ ?ͯEhVV8priFוSukx|v#0R}ޔT+jbSKΟT)6 QΠ@Nxi~ osEeQ&  aUy5x`,Sq?:daLx6F40#y;Q#SO[A=l 菃#-T.hNy~r!Y]p 0hg1f*UhlhVe*6yIBlB`&+8;SF>1U05g|/h>:vyC?{{J .<+b)lS)/nJv-{,^}%Pc%f67 q-xupHHg2T2cUߣEEfsf|,1s x Kj-߼itDXSF,X<*cJ9\M5Rb%o8Idt }Mcc+ a#IYi׻*m|Au:PB6H߅\cz4d7/8ه`yU N Abb^k.d Aлx.GyrЩӎk!"_f<=u\-ƃ~x+R=]Aps[o^ޣBLp {~×oO:6]VpY QzX:iHxE|x!zXnmbHOq[. w) qkzk.? afYWLο{;Sk?LSWTy*4#)ўS*8~?|Jymc]')o__< 6?f S.IENDB`dpkg-cross-2.6.13ubuntu1/website/copying.txt0000664000000000000000000004327511543552662015772 0ustar GNU Free Documentation License Version 1.1, March 2000 Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other written document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not "Transparent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only. The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five). C. State on the Title page the name of the publisher of the Modified Version, as the publisher. D. Preserve all the copyright notices of the Document. E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License. I. Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K. In any section entitled "Acknowledgements" or "Dedications", preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M. Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version. N. Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections entitled "History" in the various original documents, forming one section entitled "History"; likewise combine any sections entitled "Acknowledgements", and any sections entitled "Dedications". You must delete all sections entitled "Endorsements." 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an "aggregate", and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. ADDENDUM: How to use this License for your documents To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License". If you have no Invariant Sections, write "with no Invariant Sections" instead of saying which ones are invariant. If you have no Front-Cover Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for Back-Cover Texts. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. dpkg-cross-2.6.13ubuntu1/website/index.html0000664000000000000000000001022511543552662015543 0ustar Preparing libraries for cross compiling Debian packages

dpkg-cross (2.0.0)

Preparing libraries for cross compiling Debian packages.

Introduction

dpkg-cross is a tool to install and manage libraries and header files for cross compiling. dpkg-cross converts native Debian packages for the target architecture to cross compiling support packages that can be installed on any architecture, but in different paths to avoid conflicts. It then calls dpkg to install the converted package. The conversion step alone can be done with the --build option. Other options are wrappers around corresponding dpkg functionality.
dpkg-cross has only a limited future. Some functionality has already been migrated into dpkg, some functionality has been dropped during the rewrite to support dpkg and the rewritten apt-cross. Eventually, dpkg-cross will merge into dpkg and apt-cross is likely to merge into apt.

Changes and components dropped in 2.0.0

  1. dpkg-buildpackage diversion - implemented in dpkg itself.
  2. dpkg-shlibdeps diversion - implemented in dpkg itself.
  3. Fix broken CC_FOR_BUILD handling in diverted dpkg-buildpackage (Closes: #437507).
  4. Migrate to CDBS.
  5. Removal of old cross-compile files - generalised, some loss of support for corner cases that would need a different solution for the final dpkg code.
  6. buildcross: new shell library to replace perl dpkg-buildpackage diversion (temporary).
  7. removed the lintian overrides for previously diverted scripts.
  8. ChangeLog: close old file and use only the installed debian changelog.
  9. Remove old diversions when installing instead of removing.
  10. crosstools: removed empty file.
  11. Merge dpkg-shlibdeps into dpkg (Closes: #283626).
  12. Replace cross-compile.example with cross-compile.sample.
  13. dpkg-cross should also handle /usr/lib/ldscripts (Closes: #401058).
  14. shlibs must also search /usr/$libpath (Closes: #32340).
  15. dpkg-buildpackage -S is confused by other-arch changes file. (Closes: #429555).
  16. Debian/DpkgCross.pm: add new function convert_filename($).
  17. NEWS, README.debian, README.cvs: Start the long goodbye - signal the intention to remove dpkg-cross after Lenny.
  18. debconf dependency unsatisfiable with cdebconf (Closes: #441940).
  19. Generate POD content and update man page for latest changes.

Alioth

dpkg-cross is a Debian native project, hosted at Alioth.

Alioth hosts the dpkg-cross CVS repository.


The copyright licensing notice below applies to this text.

Copyright © 2007 Neil Williams

Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of this license is included in the file copying.txt.