From: Moritz Mühlenhoff Date: Sun, 8 Jul 2018 19:39:35 +0000 (+0100) Subject: rustc (1.24.1+dfsg1-1~deb9u2) stretch; urgency=medium X-Git-Tag: archive/raspbian/1.24.1+dfsg1-1_deb9u2+rpi1~31 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=69ec151726f73571eee773fe1372dc3d98f7a746;p=rustc.git rustc (1.24.1+dfsg1-1~deb9u2) stretch; urgency=medium * Add Build-Depends on rustc [!amd64] to prevent buildds from attempting further builds, further supported architectures need to be cross-compiled (Closes: #903118) [dgit import unpatched rustc 1.24.1+dfsg1-1~deb9u2] --- 69ec151726f73571eee773fe1372dc3d98f7a746 diff --cc debian/NEWS index 0000000000,0000000000,0000000000..067259d3da new file mode 100644 --- /dev/null +++ b/debian/NEWS @@@@ -1,0 -1,0 -1,0 +1,29 @@@@ +++rustc (1.20.0+dfsg1-2) unstable; urgency=medium +++ +++ Starting from version 1.20.0+dfsg1-1 (i.e. the previous version) the Debian +++ packages of rustc no longer fail their build if any tests fail. In other +++ words, some tests might have failed when building this and future versions of +++ the package. This is due to lack of maintainer time to investigate failures. +++ +++ Many previous test failures were reported to upstream and did not receive a +++ timely response, suggesting the failures were not important. I was then +++ forced to patch out the test to make the build proceed, so several tests were +++ being ignored in practise anyway. +++ +++ This brings the Debian package in line with the Fedora package which also +++ ignores all test failures. (Many other distributions don't run tests at all.) +++ +++ If you think that the Debian rustc package is miscompiling your program in a +++ way that the upstream distributed compiler doesn't, you may check the test +++ failures here: +++ +++ https://buildd.debian.org/status/package.php?p=rustc +++ +++ If you can identify a relevant test failure as well as the patches needed to +++ fix it (either to rustc or LLVM), this will speed up the processing of any +++ bug reports on the Debian side. +++ +++ We will also examine these failures ourselves on a best-effort basis and +++ attempt to fix the more serious-looking ones. +++ +++ -- Ximin Luo Mon, 16 Oct 2017 18:02:23 +0200 diff --cc debian/README.Debian index 0000000000,0000000000,0000000000..51c475132f new file mode 100644 --- /dev/null +++ b/debian/README.Debian @@@@ -1,0 -1,0 -1,0 +1,204 @@@@ +++Test failures +++============= +++ +++Starting from version 1.20.0+dfsg1-1 the Debian packages of rustc no longer +++fail the overall build if > 0 tests fail. Instead, we allow up to 5 tests to +++fail. In other words, if you're reading this in a binary package, between 0 and +++5 tests might have failed when building this. +++ +++This is due to lack of maintainer time to investigate all failures. Many +++previous test failures were reported to upstream and did not receive a timely +++response, suggesting the failures were not important. I was then forced to +++patch out the test to make the build proceed, so several tests were being +++ignored in practise anyway. +++ +++This brings the Debian package in line with the Fedora package which also +++ignores all test failures. (Many other distributions don't run tests at all.) +++ +++If you think that the Debian rustc package is miscompiling your program in a +++way that the upstream distributed compiler doesn't, you may check the test +++failures here: +++ +++https://buildd.debian.org/status/package.php?p=rustc +++ +++If you can identify a relevant test failure, as well as the patches needed to +++fix it (either to rustc or LLVM), this will speed up the processing of any bug +++reports on the Debian side. +++ +++We will also examine these failures ourselves on a best-effort basis and +++attempt to fix the more serious-looking ones. +++ +++Ports architectures +++------------------- +++ +++The number of allowed test failures on certain Debian ports architectures +++(currently powerpc, powerpcspe, sparc64, x32) is raised greatly to help unblock +++progress for porters. Of course, as a user this means you may run into more +++bugs than usual; as mentioned above bugs reports and patches are welcome. +++ +++ +++Shared libraries +++================ +++ +++For now, the shared libraries of Rust are private. +++The rational is the following: +++ * Upstream prefers static linking for now +++ - https://github.com/rust-lang/rust/issues/10209 +++ * rust is still under heavy development. As far as we know, there is +++ no commitement from upstream to provide a stable ABI for now. +++ Until we know more, we cannot take the chance to have Rust-built packages +++ failing at each release of the compiler. +++ * Static builds are working out of the box just fine +++ * However, LD_LIBRARY_PATH has to be updated when -C prefer-dynamic is used +++ +++ -- Sylvestre Ledru , Fri, 13 Feb 2015 15:08:43 +0100 +++ +++ +++Architecture-specific notes +++=========================== +++ +++armhf +++----- +++ +++We only ship debuginfo for libstd and not the compiler itself, otherwise builds +++run out of memory on the Debian buildds, with non-obvious and random errors. +++ +++See https://github.com/rust-lang/rust/issues/45854 for details. +++ +++If all your armhf build machines have ~8GB memory or more, you can experiment +++with disabling this work-around (i.e. revert to normal) in d/rules. +++ +++ +++Cross-compiling +++=============== +++ +++Rust uses LLVM, so cross-compiling works a bit differently from the GNU +++toolchain. The most important difference is that there are no "cross" +++compilers, every compiler is already a cross compiler. All you need to do is +++install the standard libraries for each target architecture you want to compile +++to. For rustc, this is libstd-rust-dev, so your debian/control would look +++something like this: +++ +++ Build-Depends: +++ [..] +++ rustc:native (>= $version), +++ libstd-rust-dev (>= $version), +++ [..] +++ +++You need both, this is important. When Debian build toolchains satisfy the +++build-depends of a cross-build, (1) a "rustc:native" Build-Depends selects +++rustc for the native architecture, which is possible because it's "Multi-Arch: +++allowed", and this will implicitly pull in libstd-rust-dev also for the native +++architecture; and (2) a "libstd-rust-dev" Build-Depends implies libstd-rust-dev +++for the foreign architecture, since it's "Multi-Arch: same". +++ +++You'll probably also want to add +++ +++ include /usr/share/rustc/architecture.mk +++ +++to your debian/rules. This sets some useful variables like DEB_HOST_RUST_TYPE. +++ +++See the cargo package for an example. +++ +++Terminology +++----------- +++ +++The rust ecosystem generally uses the term "host" for the native architecture +++running the compiler, equivalent to DEB_BUILD_RUST_TYPE or "build" in GNU +++terminology, and "target" for the foreign architecture that the build products +++run on, equivalent to DEB_HOST_RUST_TYPE or "host" in GNU terminology. For +++example, rustc --version --verbose will output something like: +++ +++ rustc 1.16.0 +++ [..] +++ host: x86_64-unknown-linux-gnu +++ +++And both rustc and cargo have --target flags: +++ +++ $ rustc --help | grep '\-\-target' +++ --target TARGET Target triple for which the code is compiled +++ $ cargo build --help | grep '\-\-target' +++ --target TRIPLE Build for the target triple +++ +++One major exception to this naming scheme is in CERTAIN PARTS OF the build +++scripts of cargo and rustc themselves, such as the `./configure` scripts and +++SOME PARTS of the `config.toml` files. Here, "build", "host" and "target" mean +++the same things they do in GNU toolchain terminology. However, IN OTHER PARTS +++OF the build scripts of cargo and rustc, as well as cargo and rustc's own +++output and logging messages, the term "host" and "target" mean as they do in +++the previous paragraph. Yes, it's a total mind fuck. :( Table for clarity: +++ +++======================================= =============== ======================== +++ Rust ecosystem, Some parts of the rustc +++GNU term / Debian envvar rustc and cargo and cargo build scripts +++======================================= =============== ======================== +++build DEB_BUILD_{ARCH,RUST_TYPE} host build +++ the machine running the build +++--------------------------------------- --------------- ------------------------ +++host DEB_HOST_{ARCH,RUST_TYPE} target host(s) +++ the machine the build products run on +++--------------------------------------- --------------- ------------------------ +++only relevant when building a compiler +++target DEB_TARGET_{ARCH,RUST_TYPE} N/A target(s) +++ the one architecture that the built extra architectures +++ cross-compiler itself builds for to build "std" for +++--------------------------------------- --------------- ------------------------ +++ +++ +++Porting to new architectures (on the same distro) +++================================================= +++ +++As mentioned above, to cross-compile rust packages you need to install the rust +++standard library for each relevant foreign architecture. However, this is not +++needed when cross-compiling rustc itself; its build system will build any +++relevant foreign-architecture standard libraries automatically. +++ +++Cross-build, in a schroot using sbuild +++-------------------------------------- +++ +++0. Set up an schroot for your native architecture, for sbuild: +++ +++ sudo apt-get install sbuild +++ sudo sbuild-adduser $LOGNAME +++ newgrp sbuild # or log out and log back in +++ sudo sbuild-createchroot --include=eatmydata,ccache,gnupg unstable \ +++ /srv/chroot/unstable-$(dpkg-architecture -qDEB_BUILD_ARCH)-sbuild \ +++ http://deb.debian.org/debian +++ +++ See https://wiki.debian.org/sbuild for more details. +++ +++1. Build it: +++ +++ sudo apt-get source --download-only rustc +++ sbuild --host=$new_arch rustc_*.dsc +++ +++Cross-build, directly on your own system +++---------------------------------------- +++ +++0. Install the build-dependencies of rustc (including cargo and itself): +++ +++ sudo dpkg --add-architecture $new_arch +++ sudo apt-get --no-install-recommends build-dep --host-architecture=$new_arch rustc +++ +++1. Build it: +++ +++ apt-get source --compile --host-architecture=$new_arch rustc +++ +++Native-build using bundled upstream binary blobs +++------------------------------------------------ +++ +++Use the same instructions as given in "Bootstrapping" in debian/README.source +++in the source package, making sure to set the relevant architectures. +++ +++Responsible distribution of cross-built binaries +++------------------------------------------------ +++ +++By nature, cross-builds do not run tests. These are important for rustc and +++many tests often fail on newly-supported architectures even if builds and +++cross-builds work fine. You should find some appropriate way to test your +++cross-built packages rather than blindly shipping them to users. +++ +++For example, Debian experimental is an appropriate place to upload them, so +++that they can be installed and tested on Debian porter boxes, before being +++uploaded to unstable and distributed to users. +++ diff --cc debian/README.source index 0000000000,0000000000,0000000000..09b1ca3596 new file mode 100644 --- /dev/null +++ b/debian/README.source @@@@ -1,0 -1,0 -1,0 +1,243 @@@@ +++Document by Ximin Luo, Luca Bruno & Sylvestre Ledru +++ +++This source package is unfortunately quite tricky and with several cutting +++edges, due to the complexity of rust-lang bootstrapping system and the high +++rate of language changes still ongoing. +++ +++We try to describe here inner packaging details and the reasons behind them. +++ +++If you are looking to help maintain this package, be sure to read the "Notes +++for package maintainers" section further below. +++ +++ +++Embedded libraries +++================== +++ +++This source package embeds several external libraries (foeked and managed +++by rust upstream as git submodules). +++In early stages, many more libraries were forked/emebedded but we are steadily +++progressing in splitting them out. +++ +++Here below the remaining ones, with the technical reasons. +++ +++ * binaryen from https://github.com/alexcrichton/binaryen.git +++ -> temporary until LLVM lld is available +++ - see issue upstream: TODO waiting for alexcrichton to create one +++ +++ * compiler-rt from https://github.com/rust-lang/compiler-rt +++ -> system-wide compiler-rt fails during linkage +++ +++ Bug reported upstream, still to be fixed, see: +++ - https://github.com/rust-lang/rust/issues/15054 +++ - https://github.com/rust-lang/rust/issues/15708 +++ +++As a summary, we plan to: +++ * work with upstream to fix compiler-rt linkage soon. +++ +++ -- Sylvestre Ledru Sat, 06 May 2017 13:26:08 +0200 +++ +++ +++Building from source +++==================== +++ +++The Debian rustc package will use the system rustc to bootstrap itself from. +++The system rustc has to be either the previous or the same version as the rustc +++being built; the build will fail if this is not the case. +++ +++ sudo apt-get build-dep ./ +++ dpkg-buildpackage +++ # Or, to directly use what's in the Debian FTP archive +++ sudo apt-get build-dep rustc +++ apt-get source --compile rustc +++ +++Alternatively, you may give the "pkg.rustc.dlstage0" DEB_BUILD_PROFILE to +++instead use the process defined by Rust upstream. This downloads the "official" +++stage0 compiler for the version being built from rust-lang.org. At the time of +++writing "official" means "the previous stable version". +++ +++ sudo apt-get build-dep -P pkg.rustc.dlstage0 ./ +++ dpkg-buildpackage +++ # Or, to directly use what's in the Debian FTP archive +++ sudo apt-get build-dep -P pkg.rustc.dlstage0 rustc +++ apt-get source --compile -P pkg.rustc.dlstage0 rustc +++ +++After [1] is fixed, both of these should in theory give identical results. +++ +++If neither of these options are acceptable to you, e.g. because your distro +++does not have rustc already and your build process cannot access the network, +++see "Bootstrapping" below. +++ +++[1] https://github.com/rust-lang/rust/issues/34902 +++ +++ +++Bootstrapping +++============= +++ +++To bootstrap rustc on a distro that does not have it or cargo available on any +++architecture (so cross-compiling is not an option) you can run `debian/rules +++source_orig-stage0`. This creates a .dsc that does not Build-Depend on rustc or +++cargo. Instead, it includes an extra orig-stage0 source tarball that contains +++the official stage0 compiler, pre-downloaded from rust-lang.org so that your +++build daemons don't need to access the network during the build. +++ +++ debian/rules source_orig-stage0 +++ # Follow the final manual instructions that it outputs. Then: +++ sbuild ../rustc_*.dsc && dput ../rustc_*.dsc +++ +++To only bootstrap specific architectures, run this instead: +++ +++ upstream_bootstrap_arch="arm64 armhf" debian/rules source_orig-stage0 +++ +++This way, other architectures will be omitted from the orig-stage0 tarball. You +++might want to do this e.g. if these other architectures are already present in +++your distro, but the $upstream_bootstrap_arch ones are not yet present. +++ +++Notes +++----- +++ +++The approach bundles the upstream bootstrapping binaries inside the Debian +++source package. This is a nasty hack that stretches the definition of "source +++package", but has a few advantages explained below. +++ +++The traditional Debian way of bootstrapping compilers - and other distros have +++similar approaches - is some variant of the following: +++ +++1. A developer locally installs some upstream bootstrapping binaries. +++2. They locally build a Debian package, using these binaries as undeclared +++ build dependencies. +++3. They upload these binary packages to Debian, which can be used as declared +++ Build-Depends in the future, including by the same package. +++ +++The problem with this is, Debian does not have any policy nor infrastructure +++that can try to reproduce what this developer supposedly did. +++ +++Using bootstrapping binary blobs *at some point of the process* is unavoidable. +++Rather than pretending we didn't do this, it is better to record *which blobs* +++we used, so it can be audited later. If we bundle non-Debian build-dependencies +++inside the source package, then we can do a *source-only upload*, and the +++building of the binary packages can be done by the normal build infrastructure. +++ +++If the build process is reproducible [1] then we can be sure that *you* (as the +++developer that prepared the source-only upload) didn't backdoor the binaries, +++nor did the build daemons even if they were compromised during the build. +++ +++The bootstrapping binaries may still have been backdoored, but this is true in +++both scenarios. So our arrangement is still a strict improvement in security, +++because it reduces the set of "things that may have been backdoored". Also, +++more people use the upstream binaries than the "magical original Debian +++package", so backdoors have a greater chance of being detected in the former. +++ +++In the long run, this process is laying the foundations for doing Diverse +++Double-Compilation [2], where we use *many independent* bootstrapping binaries +++to reproduce bit-for-bit identical output compilers, giving confidence that +++nothing was backdoored along the way. +++ +++[1] The build process for rustc is currently *not* reproducible but we're +++ working towards it. https://github.com/rust-lang/rust/issues/34902 +++[2] http://www.dwheeler.com/trusting-trust/ +++ +++ +++Maintaining this package +++======================== +++ +++Import of a new upstream version +++-------------------------------- +++ +++# Make sure you apply the patch mentioned in #855464 to /usr/bin/mk-origtargz +++ +++$ sudo mk-build-deps -irt 'aptitude -R' +++$ uscan --verbose +++$ ver=UPDATE-ME # whatever it is, X.YY.0 or X.YY.0~beta probably +++$ tar xf ../rustc-${ver/\~/-}-src.tar.xz && ( cd rustc-${ver/*~*/beta}-src/ && ../debian/prune-unused-deps ) && rm -rf rustc-${ver/*~*/beta}-src/ +++# ^ If this fails, you probably need to refresh patches or edit debian/prune-unused-deps +++$ git commit -m "Update Files-Excluded for new upstream version ${ver/\~/-}" debian/copyright +++$ uscan --verbose # yes, again, to pick up the new Files-Excluded stuff +++ +++# Keep running this and follow its instructions, until it gives no output: +++$ debian/check-orig-suspicious.sh $ver +++# When you are satisfied with the above, proceed: +++ +++$ gbp import-orig ../rustc_$ver+dfsg1.orig.tar.xz +++$ dch -v $ver+dfsg1-1 -m "New upstream release." +++$ debian/rules update-version +++# might also need to bump the version of the cargo Build-Depends +++# then refresh patches, etc etc +++# Use /usr/share/cargo/guess-crate-copyright to help update d/copyright quickly +++ +++# If you need to repack again, bump the 'repacksuffix' in d/watch then run +++$ uscan --verbose --force-download +++# This will do a local repack using the new Files-Excluded rules, without +++# redownloading the orig tarball (despite the slightly misleading flag). +++ +++ +++Proceeding after build failure +++------------------------------ +++ +++If your build fails, don't run `./x.py` directly as that will detect it's being +++run with different settings, and run the build from scratch all over again. +++overwriting all intermediate files. Instead, do: +++ +++$ debian/rules run_rustbuild X_CMD="build|test|install" X_FLAGS="whatever" +++ +++Hopefully, this will directly proceed to the step that failed, without +++rebuilding everything in between. +++ +++ +++Comparing Debian rustc vs upstream rustc +++---------------------------------------- +++ +++This package does things the Debian way, which differs significantly from +++upstream practices. If you find a bug, you might want to check if it is present +++in the upstream package. Run "debian/rules debian/config.toml" to generate our +++config.toml that you can then use in an unpacked upstream directory. +++ +++This will configure it in a "halfway" style between upstream and Debian. +++Specifically, it will not build LLVM nor download stuff from crates.io, yet +++Debian patches are *not* applied. These specific settings were chosen as a +++tradeoff between convenience vs being close to what upstream does - so that the +++chances of a bug here being a genuine upstream issue rather than a Debian bug, +++is much higher. Also, with the exception of LLVM, these are non-default modes +++*supported by* upstream so they would be happy to receive bug reports about it +++even if your issue only occurs here. +++ +++OTOH if you need to test a completely clean upstream build, including all the +++annoying stuff like building LLVM and downloading dependencies from crates.io, +++simply unpack the tarball and run `./configure && ./x.py build` etc as normal. +++This can be useful for confirming that an issue is caused by Debian's LLVM. +++ +++If you need to test a LLVM patch, do something like this: +++ +++# build your patched LLVM debs, then: +++$ mkdir -p llvm-destdir && cd llvm-destdir +++$ ver=4.0; VERSION=FIXME +++$ for i in llvm-$ver llvm-$ver-dev llvm-$ver-runtime llvm-$ver-tools libllvm$ver; do \ +++ dpkg -x ../"$i"_*${VERSION}_*.deb .; done +++$ cd ../rustc +++$ debian/rules LLVM_DESTDIR=$PWD/../llvm-destdir build +++ +++If you need to test a patch to the stage0 rustc, do something like this: +++ +++# build your patched rustc debs or upstream rustc, then: +++$ mkdir -p rust-destdir && cd rust-destdir +++$ ver=1.20; VERSION=FIXME; +++$ for i in rustc libstd-rust-$ver libstd-rust-dev; do \ +++ dpkg -x ../"$i"_*${VERSION}_*.deb .; done +++$ cd ../rustc +++$ debian/rules RUST_DESTDIR=$PWD/../rust-destdir build +++ +++ +++Useful links +++------------ +++ +++The Fedora rust team is more active than the Debian one. Here are their links: +++ +++Source code +++https://src.fedoraproject.org/cgit/rpms/rust.git/tree/ +++ +++Binary packages and test logs +++https://kojipkgs.fedoraproject.org//packages/rust/ +++If the same test fails both on Fedora and Debian it's a good indication that +++we're not Doing It Wrong and can file a valid bug upstream. +++ +++Package metadata +++https://admin.fedoraproject.org/pkgdb/package/rpms/rust/ diff --cc debian/TODO.Debian index 0000000000,0000000000,0000000000..ed9f05bc11 new file mode 100644 --- /dev/null +++ b/debian/TODO.Debian @@@@ -1,0 -1,0 -1,0 +1,12 @@@@ +++Older backlog +++============= +++ +++ * Use Compiler-rt package +++ * Improve the bootstrap (do the local build first on our systems, upload +++ to Debian and use the packages) +++ * Port on other archs +++ * Create a runtime package (rust-runtime) +++ * Move the runtime library into a public directory +++ * Package the various editors plugins (emacs, kate & vim) +++ +++ -- Sylvestre Ledru Tue, 20 Jan 2015 08:50:28 +0100 diff --cc debian/architecture-test.mk index 0000000000,0000000000,0000000000..e7aeabade5 new file mode 100644 --- /dev/null +++ b/debian/architecture-test.mk @@@@ -1,0 -1,0 -1,0 +1,16 @@@@ +++# Used for testing architecture.mk, and for make_orig-stage0_tarball.sh. +++# Not for end users. +++# +++# Usage: +++# $ make -s --no-print-directory -f debian/architecture-test.mk rust-for-deb_arm64 +++# arm64 aarch64-unknown-linux-gnu +++ +++include debian/architecture.mk +++ +++deb_arch_setvars = $(foreach var,ARCH ARCH_OS ARCH_CPU ARCH_BITS ARCH_ENDIAN GNU_CPU GNU_SYSTEM GNU_TYPE MULTIARCH,\ +++ $(eval DEB_$(1)_$(var) = $(shell dpkg-architecture -a$(1) -qDEB_HOST_$(var) 2>/dev/null))) +++ +++rust-for-deb_%: +++ $(eval $(call deb_arch_setvars,$*)) +++ $(eval $(call rust_type_setvar,DEB_$*)) +++ @echo $(DEB_$(*)_ARCH) $(DEB_$(*)_RUST_TYPE) diff --cc debian/architecture.mk index 0000000000,0000000000,0000000000..9a71eb996a new file mode 100644 --- /dev/null +++ b/debian/architecture.mk @@@@ -1,0 -1,0 -1,0 +1,17 @@@@ +++# This Makefile snippet defines DEB_*_RUST_TYPE triples based on DEB_*_GNU_TYPE +++ +++include /usr/share/dpkg/architecture.mk +++ +++rust_cpu = $(subst i586,i686,\ +++$(if $(findstring -armhf-,-$(2)-),$(subst arm,armv7,$(1)),\ +++$(if $(findstring -armel-,-$(2)-),$(subst arm,armv5te,$(1)),\ +++$(1)))) +++rust_type_setvar = $(1)_RUST_TYPE ?= $(call rust_cpu,$($(1)_GNU_CPU),$($(1)_ARCH))-unknown-$($(1)_GNU_SYSTEM) +++ +++$(foreach machine,BUILD HOST TARGET,\ +++ $(eval $(call rust_type_setvar,DEB_$(machine)))) +++ +++# fallback for older dpkg versions +++ifeq ($(DEB_TARGET_RUST_TYPE),-unknown-) +++ DEB_TARGET_RUST_TYPE = $(DEB_HOST_RUST_TYPE) +++endif diff --cc debian/build-preview-dsc.sh index 0000000000,0000000000,0000000000..8748a4f13e new file mode 100755 --- /dev/null +++ b/debian/build-preview-dsc.sh @@@@ -1,0 -1,0 -1,0 +1,141 @@@@ +++#!/bin/sh +++# NOTE: this script very likely does not work any more, don't try to use it +++# unless you're very familiar with the rest of the packaging. +++# +++# Build a Debian source package out of an existing unpacked rustc deb source, +++# and the official rust preview releases. +++# +++# infinity0 occasionally makes, builds and uploads them here: +++# https://launchpad.net/~infinity0/+archive/ubuntu/rust-nightly +++# https://launchpad.net/~infinity0/+archive/ubuntu/rust-beta +++ +++# You can set these env vars to tweak the behaviour of this script. +++CHANNEL="${CHANNEL:-beta}" # either beta or nightly +++DIST="${DIST:-experimental}" # which suite to put in debian/changelog +++DEBDIR="${DEBDIR:-}" # where is the debian/ directory? defaults to this script +++NOREMOTE="${NOREMOTE:-false}" # e.g. if you have already downloaded all necessary files +++# note that we already use "wget -N" to avoid redundant downloads +++NOCLOBBER="${NOCLOBBER:-true}" # don't rebuild if we already have the .dsc +++DPUT_HOST="${DPUT_HOST}" # optional host dput the resulting .dsc to +++ARCHES="amd64 arm64 i386" +++ +++do_temporary_fixups() { +++# patches needed to subsequent versions go here +++local verprefix="${1%.0-beta.?}" +++verprefix="${verprefix%.0-nightly}" +++( cd debian/patches +++local f +++for f in *; do +++ fb="${f%.patch}" +++ fb="${fb%.diff}" +++ # if an updated patch exists, use it +++ if test -f "${fb}_${verprefix}"*; then mv "${fb}_${verprefix}"* "$f"; fi +++done ) +++case "$1" in +++"1.14."*|"1.15."*) +++ dquilt delete ignore-stdcall-test-on-arm64.patch +++ ;; +++esac +++} +++ +++abort() { local x="$1"; shift; echo >&2 "$@"; exit "$x"; } +++ +++dquilt() { +++ QUILT_PATCHES="debian/patches" \ +++ QUILT_PATCH_OPTS="--reject-format=unified" \ +++ QUILT_DIFF_ARGS="-p ab --no-timestamps --no-index --color=auto" \ +++ QUILT_REFRESH_ARGS="-p ab --no-timestamps --no-index" \ +++ quilt "$@" +++} +++ +++HOST="https://static.rust-lang.org" +++BASENAME="rustc-$CHANNEL-src.tar.gz" +++JQUERY="https://code.jquery.com/jquery-2.1.4.js" +++ +++SCRIPTDIR="$(dirname "$0")" +++DEBDIR="$(readlink -f ${DEBDIR:-$SCRIPTDIR})" +++echo "using DEBDIR=$DEBDIR as debian tree to copy into upstream tarball" +++test "$PWD" = "${PWD#$DEBDIR}" || abort 1 "must run from outside DEBDIR" +++test -d "$DEBDIR" || abort 1 "DEBDIR not a directory: $DEBDIR" +++ +++set -x +++set -e +++ +++$NOREMOTE || wget -N "$HOST/dist/$BASENAME" +++$NOREMOTE || wget -N "$HOST/dist/$BASENAME.asc" +++$NOREMOTE || gpg2 -v "$BASENAME.asc" +++$NOREMOTE || wget -N "$HOST/dist/index.txt" +++MODDATE1="$(grep "^/dist/$BASENAME," index.txt \ +++ | cut -d, -f3 | sed -e 's/\(.*\)-\(.*\)-\(.*\)T.*/\1\2\3/')" +++MODDATE2="$(TZ=UTC stat "$BASENAME" -c %y | sed -e 's/\(.*\)-\(.*\)-\([0-9]*\) .*$/\1\2\3/')" +++$NOREMOTE || test "$MODDATE1" = "$MODDATE2" || abort 2 "file mod times don't match, try again" +++$NOREMOTE || wget -N "$JQUERY" +++ +++rm -rf "rustc-$CHANNEL" +++tar xf "$BASENAME" +++ +++cd "rustc-$CHANNEL" +++{ +++ echo "CFG_RELEASE_CHANNEL=$CHANNEL" +++ echo "CFG_HASH_COMMAND=md5sum | cut -c1-8" +++ sed -n -e '/^CFG_RELEASE/,/^##/{/^CFG_INFO/d;p}' mk/main.mk +++ echo "all:" +++ echo " @echo export CFG_RELEASE=\$(CFG_RELEASE)" +++} | make -f - > ./envvars +++. ./envvars +++NEWUPSTR="$(echo "$CFG_RELEASE.$MODDATE2+dfsg1" | sed -e 's/-beta/~beta/' -e 's/-nightly/~~nightly/')" +++if $NOCLOBBER && test -f "../rustc_$NEWUPSTR-1.dsc"; then +++ cd .. +++ rm -rf "rustc-$CHANNEL" +++ abort 0 "already have rustc_$NEWUPSTR-1.dsc; set NOCLOBBER=false if you want to force" +++fi +++cp -a "$DEBDIR" . +++mk-origtargz --repack --compression xz -v "$NEWUPSTR" "../$BASENAME" +++cd .. +++ +++rm -rf "rustc-$CHANNEL" "rustc-$NEWUPSTR" +++tar xf "rustc_$NEWUPSTR.orig.tar.xz" +++mv "rustc-$CHANNEL" "rustc-$NEWUPSTR" +++ +++libstd_ver() { +++ dpkg-parsechangelog --show-field Version | sed -re 's/([^.]+)\.([^.]+)\..*/\1.\2/' +++} +++ +++cd "rustc-$NEWUPSTR" +++cp -a "$DEBDIR" . +++ +++OLD_LIBVER="$(libstd_ver)" +++dch -D "$DIST" -v "$NEWUPSTR-1" "Team upload." +++dch -a "Switch to $CHANNEL channel." +++NEW_LIBVER="$(libstd_ver)" +++do_temporary_fixups "$CFG_RELEASE" +++mkdir -p ../"dl_${CFG_RELEASE}" +++ln -sf ../"dl_${CFG_RELEASE}" dl +++# TODO: don't do this if orig-dl already exists +++$NOREMOTE || upstream_bootstrap_arch="$ARCHES" debian/rules source_orig-dl +++rm -f dl +++cp -al ../"dl_${CFG_RELEASE}" dl +++# set build-dep arch exceptions +++deb_bd_arch_ex="$(echo "$ARCHES" | sed -e 's/\S*/!\0/g')" +++sed -e 's/rustc (\(.*\))\( *\[\(.*\)\]\)\?/rustc (\1) ['"$deb_bd_arch_ex"']/g' -i debian/control +++ +++rm -f debian/missing-sources/jquery-* +++cp "../$(basename "$JQUERY")" debian/missing-sources +++sed -i -e "s/$OLD_LIBVER/$NEW_LIBVER/" "debian/control" +++sed -i -e 's/\(RELEASE_CHANNEL := \)\(.*\)/\1'"$CHANNEL"'/g' debian/rules +++sed -i -e 's/^update .*/update '"$OLD_LIBVER $NEW_LIBVER"'/' debian/update-version.sh +++( cd debian && bash ./update-version.sh ) +++ +++while dquilt push; do dquilt refresh; done +++dquilt pop -a +++rm -rf .pc +++dpkg-buildpackage -d -S +++cd .. +++ +++if test -n "$DPUT_HOST"; then +++ dput "$DPUT_HOST" "rustc_$NEWUPSTR-1_source.changes" +++else +++ set +x +++ echo "Source package built, but there is NO GUARANTEE THAT IT WORKS!" +++ echo "You should now try to build it with \`sudo cowbuilder --build rustc_$NEWUPSTR-1.dsc\`" +++fi diff --cc debian/changelog index 0000000000,0000000000,0000000000..dd88755a6f new file mode 100644 --- /dev/null +++ b/debian/changelog @@@@ -1,0 -1,0 -1,0 +1,675 @@@@ +++rustc (1.24.1+dfsg1-1~deb9u2) stretch; urgency=medium +++ +++ * Add Build-Depends on rustc [!amd64] to prevent buildds from attempting +++ further builds, further supported architectures need to be cross-compiled +++ (Closes: #903118) +++ +++ -- Moritz Mühlenhoff Sun, 08 Jul 2018 21:39:35 +0200 +++ +++rustc (1.24.1+dfsg1-1~deb9u1) stretch; urgency=medium +++ +++ * Build for stretch to be used by Firefox ESR60 +++ * Enable stage0 build +++ * Disable -doc package, requires packages not found in stretch and +++ docs are available online anyway +++ +++ -- Moritz Mühlenhoff Sun, 01 Jul 2018 13:42:52 +0200 +++ +++rustc (1.24.1+dfsg1-1) unstable; urgency=medium +++ +++ * Upload to unstable. +++ * Raise allowed-test-failures to 160 on some non-release arches: powerpc, +++ powerpcspe, sparc64, x32. +++ +++ -- Ximin Luo Wed, 07 Mar 2018 20:07:27 +0100 +++ +++rustc (1.24.1+dfsg1-1~exp2) experimental; urgency=medium +++ +++ * Steal some patches from Fedora to fix some test failures. +++ * Update debian/patches/u-make-tests-work-without-rpath.patch to try to fix +++ some more test failures. +++ +++ -- Ximin Luo Mon, 05 Mar 2018 16:25:26 +0100 +++ +++rustc (1.24.1+dfsg1-1~exp1) experimental; urgency=medium +++ +++ * More sparc64 CABI fixes. (Closes: #888757) +++ * New upstream release. +++ * Note that s390x baseline was updated in the meantime. (Closes: #851150) +++ * Include Debian-specific patch to disable kernel helpers on armel. +++ (Closes: #891902) +++ * Include missing build-dependencies for pkg.rustc.dlstage0 build profile. +++ (Closes: #891022) +++ * Add architecture.mk mapping for armel => armv5te-unknown-linux-gnueabi. +++ (Closes: #891913) +++ * Enable debuginfo-only-std on armel as well. (Closes: #891961) +++ * Backport upstream patch to support powerpcspe. (Closes: #891542) +++ * Disable full-bootstrap again to work around upstream #48319. +++ +++ -- Ximin Luo Sat, 03 Mar 2018 14:23:29 +0100 +++ +++rustc (1.23.0+dfsg1-1) unstable; urgency=medium +++ +++ * Upload to unstable. +++ +++ -- Ximin Luo Fri, 19 Jan 2018 11:49:31 +0100 +++ +++rustc (1.23.0+dfsg1-1~exp1) experimental; urgency=medium +++ +++ * New upstream release. +++ * Update to latest Standards-Version; no changes required. +++ +++ -- Ximin Luo Sun, 14 Jan 2018 00:08:17 +0100 +++ +++rustc (1.22.1+dfsg1-2) unstable; urgency=medium +++ +++ * Fix B-D rustc version so this package can be built using itself. +++ +++ -- Ximin Luo Mon, 01 Jan 2018 14:27:19 +0100 +++ +++rustc (1.22.1+dfsg1-1) unstable; urgency=medium +++ +++ [ Ximin Luo ] +++ * Remove unimportant files that autoload remote resources from rust-src. +++ * Fix more symlinks in rust-doc. +++ * On armhf, only generate debuginfo for libstd and not the compiler itself. +++ This works around buildds running out of memory, see upstream #45854. +++ * Update to latest Standards-Version; no changes required. +++ +++ [ Chris Coulson ] +++ * Fix some test failures that occur because we build rust without an rpath. +++ +++ -- Ximin Luo Mon, 18 Dec 2017 19:46:25 +0100 +++ +++rustc (1.22.1+dfsg1-1~exp1) experimental; urgency=medium +++ +++ * New upstream release. +++ * Fix symlink target. (Closes: #877276) +++ +++ -- Ximin Luo Sat, 25 Nov 2017 22:29:12 +0100 +++ +++rustc (1.21.0+dfsg1-3) unstable; urgency=medium +++ +++ * Add/fix detection for sparc64, thanks to John Paul Adrian Glaubitz. +++ * Workaround FTBFS when building docs. (Closes: #880262) +++ +++ -- Ximin Luo Mon, 06 Nov 2017 10:03:32 +0100 +++ +++rustc (1.21.0+dfsg1-2) unstable; urgency=medium +++ +++ * Upload to unstable. +++ * Fix bootstrapping using 1.21.0, which is more strict about redundant &mut +++ previously used in u-output-failed-commands.patch. +++ * Only allow up to 5 test failures. +++ +++ -- Ximin Luo Wed, 25 Oct 2017 20:27:30 +0200 +++ +++rustc (1.21.0+dfsg1-1) experimental; urgency=medium +++ +++ * New upstream release. +++ * Fix the "install" target for cross-compilations; cross-compiling with +++ sbuild --host=$foreign-arch should work again. +++ * Update to latest Standards-Version; changes: +++ - Priority changed to optional from extra. +++ +++ -- Ximin Luo Tue, 17 Oct 2017 00:42:54 +0200 +++ +++rustc (1.20.0+dfsg1-3) unstable; urgency=medium +++ +++ * Disable jemalloc to fix FTBFS with 1.21 on armhf. +++ +++ -- Ximin Luo Wed, 25 Oct 2017 12:01:19 +0200 +++ +++rustc (1.20.0+dfsg1-2) unstable; urgency=medium +++ +++ * Update changelog entry for 1.20.0+dfsg1-1 to reflect that it was actually +++ and accidentally uploaded to unstable. No harm, no foul. +++ * We are no longer failing the build when tests fail, see NEWS or +++ README.Debian for details. +++ * Bump LLVM requirement to fix some failing tests. +++ +++ -- Ximin Luo Sat, 21 Oct 2017 14:20:17 +0200 +++ +++rustc (1.20.0+dfsg1-1) unstable; urgency=medium +++ +++ * New upstream release. +++ +++ -- Ximin Luo Sun, 15 Oct 2017 23:30:35 +0200 +++ +++rustc (1.19.0+dfsg3-4) unstable; urgency=medium +++ +++ * Bump LLVM requirement to pull in a fix for a FTBFS on ppc64el. +++ +++ -- Ximin Luo Sun, 15 Oct 2017 21:31:03 +0200 +++ +++rustc (1.19.0+dfsg3-3) unstable; urgency=medium +++ +++ * Fix a trailing whitespace for tidy. +++ +++ -- Ximin Luo Tue, 19 Sep 2017 16:09:41 +0200 +++ +++rustc (1.19.0+dfsg3-2) unstable; urgency=medium +++ +++ * Upload to unstable. +++ * Add a patch to print extra information when tests fail. +++ +++ -- Ximin Luo Tue, 19 Sep 2017 12:32:03 +0200 +++ +++rustc (1.19.0+dfsg3-1) experimental; urgency=medium +++ +++ * New upstream release. +++ * Upgrade to LLVM 4.0. (Closes: #873421) +++ * rust-src: install Debian patches as well +++ +++ -- Ximin Luo Fri, 15 Sep 2017 04:02:09 +0200 +++ +++rustc (1.18.0+dfsg1-4) unstable; urgency=medium +++ +++ * Support gperf 3.1. (Closes: #869610) +++ +++ -- Ximin Luo Tue, 25 Jul 2017 23:19:47 +0200 +++ +++rustc (1.18.0+dfsg1-3) unstable; urgency=medium +++ +++ * Upload to unstable. +++ * Disable failing run-make test on armhf. +++ +++ -- Ximin Luo Sat, 22 Jul 2017 20:30:25 +0200 +++ +++rustc (1.18.0+dfsg1-2) experimental; urgency=medium +++ +++ * Update to latest Standards-Version; no changes required. +++ * Change rustc to Multi-Arch: allowed and update Build-Depends with :native +++ annotations. Multi-Arch: foreign is typically for arch-indep packages that +++ might need to satisfy dependency chains of different architectures. Also +++ update instructions on cross-compiling to match this newer situation. +++ * Build debugging symbols for non-libstd parts of rustc. +++ +++ -- Ximin Luo Mon, 17 Jul 2017 23:04:03 +0200 +++ +++rustc (1.18.0+dfsg1-1) experimental; urgency=medium +++ +++ * New upstream release. +++ +++ -- Ximin Luo Tue, 27 Jun 2017 12:51:22 +0200 +++ +++rustc (1.17.0+dfsg2-8) unstable; urgency=medium +++ +++ * Workaround for linux #865549, fix FTBFS on ppc64el. +++ +++ -- Ximin Luo Mon, 17 Jul 2017 13:41:59 +0200 +++ +++rustc (1.17.0+dfsg2-7) unstable; urgency=medium +++ +++ * Show exception traceback in bootstrap.py to examine ppc64el build failure. +++ +++ -- Ximin Luo Wed, 21 Jun 2017 10:46:27 +0200 +++ +++rustc (1.17.0+dfsg2-6) unstable; urgency=medium +++ +++ * Upload to unstable. +++ +++ -- Ximin Luo Wed, 21 Jun 2017 00:24:22 +0200 +++ +++rustc (1.17.0+dfsg2-5) experimental; urgency=medium +++ +++ * More work-arounds for armhf test failures. +++ +++ -- Ximin Luo Fri, 16 Jun 2017 13:27:45 +0200 +++ +++rustc (1.17.0+dfsg2-4) experimental; urgency=medium +++ +++ * Fix arch-indep and arch-dep tests. +++ * Bump the LLVM requirement to fix FTBFS on armhf. +++ +++ -- Ximin Luo Wed, 14 Jun 2017 21:37:16 +0200 +++ +++rustc (1.17.0+dfsg2-3) experimental; urgency=medium +++ +++ * Try to force the real gdb package. Some resolvers like aspcud will select +++ gdb-minimal under some circumstances, but this causes the debuginfo-gdb +++ tests to break. +++ +++ -- Ximin Luo Wed, 14 Jun 2017 00:48:37 +0200 +++ +++rustc (1.17.0+dfsg2-2) experimental; urgency=medium +++ +++ * Support and document cross-compiling of rustc itself. +++ * Document cross-compiling other rust packages such as cargo. +++ * Work around upstream #39015 by disabling those tests rather than by +++ disabling optimisation, which causes FTBFS on 1.17.0 ppc64el. See +++ upstream #42476 and #42532 for details. +++ +++ -- Ximin Luo Tue, 13 Jun 2017 21:13:31 +0200 +++ +++rustc (1.17.0+dfsg2-1) experimental; urgency=medium +++ +++ [ Sylvestre Ledru ] +++ * New upstream release +++ +++ [ Ximin Luo ] +++ * Adapt packaging for rustbuild, the new upstream cargo-based build system. +++ +++ [ Matthijs van Otterdijk ] +++ * Add a binary package, rust-src. (Closes: #846177) +++ * Link to local Debian web resources in the docs, instead of remote ones. +++ +++ -- Ximin Luo Tue, 16 May 2017 18:00:53 +0200 +++ +++rustc (1.16.0+dfsg1-1) unstable; urgency=medium +++ +++ * Upload to unstable so we have something to build 1.17 with. +++ * Update u-ignoretest-powerpc.patch for 1.16. +++ +++ -- Ximin Luo Wed, 19 Apr 2017 22:47:18 +0200 +++ +++rustc (1.16.0+dfsg1-1~exp2) experimental; urgency=medium +++ +++ * Don't ignore test failures on Debian unstable. +++ * Re-fix ignoring armhf test, accidentally reverted in previous version. +++ * Try to fix buildd failure by swapping B-D alternatives. +++ +++ -- Ximin Luo Sun, 16 Apr 2017 15:05:47 +0200 +++ +++rustc (1.16.0+dfsg1-1~exp1) experimental; urgency=medium +++ +++ * New upstream release +++ * u-ignoretest-jemalloc.patch removed (applied upstream) +++ +++ [ Matthias Klose ] +++ * Bootstrap using the rustc version in the archive, on all architectures. +++ * Work around a GCC 4.8 ICE on AArch64. +++ * Use alternative build dependencies on cmake3 and binutils-2.26 for +++ builds on 14.04 LTS (trusty). +++ * debian/make_orig*dl_tarball.sh: Include all Ubuntu architectures. +++ * debian/rules: Ignore test results for now. +++ +++ -- Sylvestre Ledru Thu, 13 Apr 2017 15:24:03 +0200 +++ +++rustc (1.15.1+dfsg1-1) unstable; urgency=medium +++ +++ * Upload to unstable so we have something to build 1.16 with. +++ * Try to fix ignoring atomic-lock-free tests on armhf. +++ +++ -- Ximin Luo Wed, 22 Mar 2017 00:13:27 +0100 +++ +++rustc (1.15.1+dfsg1-1~exp3) experimental; urgency=medium +++ +++ * Ignore atomic-lock-free tests on armhf. +++ * Update ignoretest-armhf_03.patch for newer 1.15.1 behaviour. +++ * Tidy up some other patches to do with ignoring tests. +++ +++ -- Ximin Luo Sun, 12 Mar 2017 04:15:33 +0100 +++ +++rustc (1.15.1+dfsg1-1~exp2) experimental; urgency=medium +++ +++ * Update armhf ignoretest patch. +++ * Bootstrap armhf. (Closes: #809316, #834003) +++ * Bootstrap ppc4el. (Closes: #839643) +++ * Fix rust-lldb symlink. (Closes: #850639) +++ +++ -- Ximin Luo Thu, 02 Mar 2017 23:01:26 +0100 +++ +++rustc (1.15.1+dfsg1-1~exp1) experimental; urgency=medium +++ +++ * New upstream release (won't probably be in stretch). +++ see the 1.4 git branch for the follow up for stable +++ * Call to the test renamed from check-notidy => check +++ * d/p/u-destdir-support.diff: Apply upstream patch to support +++ destdir in the make install (for rustbuild, in later versions) +++ * Overrides the 'binary-or-shlib-defines-rpath' lintian warnings. +++ We need them for now +++ * Refresh of the patches +++ +++ [ Sven Joachim ] +++ * Drop Pre-Depends on multiarch-support. (Closes: #856109) +++ +++ [ Erwan Prioul ] +++ * Fix test and build failures for ppc64el. (Closes: #839643) +++ +++ [ Ximin Luo ] +++ * Disable rustbuild for the time being (as it was in 1.14) and instead +++ bootstrap two new arches, armhf and ppc64el. +++ * Switch back to debhelper 9 to make backporting easier. +++ * Switch Build-Depends on binutils-multiarch back to binutils, the former is +++ no longer needed by the upstream tests. +++ +++ [ Matthias Klose ] +++ * Compatibility fixes and improvements to help work better on Ubuntu. +++ +++ -- Sylvestre Ledru Sun, 26 Feb 2017 21:12:27 +0100 +++ +++rustc (1.14.0+dfsg1-3) unstable; urgency=medium +++ +++ * Fix mips64 Makefile patches. +++ * Don't run arch-dep tests in a arch-indep build. +++ +++ -- Ximin Luo Wed, 04 Jan 2017 21:34:56 +0100 +++ +++rustc (1.14.0+dfsg1-2) unstable; urgency=medium +++ +++ * Update README.Debian, the old one was way out of date. +++ * Detect mips CPUs in ./configure and fill in mips Makefile rules. +++ * Work around jemalloc-related problems in the upstream bootstrapping +++ binaries for arm64, ppc64el, s390x. +++ * Disable jemalloc on s390x - upstream already disable it for some other +++ arches. +++ * Disable jemalloc tests for arches where jemalloc is disabled. +++ * We still expect the following failures: +++ * arm64 should be fixed (i.e. no failures) compared to the previous upload. +++ * armhf will FTBFS due to 'Illegal instruction' and this can only be fixed +++ with the next stable rustc release. +++ * mips mipsel mips64el ppc64 ppc64el s390x will FTBFS due to yet other +++ test failures beyond the ones I fixed above; this upload is only to save +++ me manual work in producing nice reports that exhibit these failures. +++ +++ -- Ximin Luo Thu, 29 Dec 2016 23:00:47 +0100 +++ +++rustc (1.14.0+dfsg1-1) unstable; urgency=medium +++ +++ [ Sylvestre Ledru ] +++ * New upstream release +++ * Update debian/watch +++ +++ [ Ximin Luo ] +++ * Try to bootstrap armhf ppc64 ppc64el s390x mips mipsel mips64el. +++ (Closes: #809316, #834003, #839643) +++ * Make rust-gdb and rust-lldb arch:all packages. +++ * Switch to debhelper 10. +++ +++ -- Ximin Luo Sat, 24 Dec 2016 18:03:03 +0100 +++ +++rustc (1.13.0+dfsg1-2) unstable; urgency=high +++ +++ * Skip macro-stepping test on arm64, until +++ https://github.com/rust-lang/rust/issues/37225 is resolved. +++ +++ -- Luca Bruno Sat, 26 Nov 2016 23:40:14 +0000 +++ +++rustc (1.13.0+dfsg1-1) unstable; urgency=medium +++ +++ [ Sylvestre Ledru ] +++ * New upstream release. +++ +++ [ Ximin Luo ] +++ * Use Debian system jquery instead of upstream's embedded copy. +++ +++ -- Sylvestre Ledru Fri, 11 Nov 2016 13:35:23 +0100 +++ +++rustc (1.12.1+dfsg1-1) unstable; urgency=medium +++ +++ [ Sylvestre Ledru ] +++ * New (minor) upstream release +++ * Missing dependency from rust-lldb to python-lldb-3.8 (Closes: #841833) +++ * Switch to llvm 3.9. (Closes: #841834) +++ +++ [ Ximin Luo ] +++ * Dynamically apply rust-boot-1.12.1-from-1.12.0.diff. +++ This allows us to bootstrap from either 1.11.0 or 1.12.0. +++ * Bump LLVM Build-Depends version to get the backported patches for LLVM +++ #30402 and #29163. +++ * Install debugger_pretty_printers_common to rust-gdb and rust-lldb. +++ (Closes: #841835) +++ +++ -- Ximin Luo Mon, 07 Nov 2016 14:15:14 +0100 +++ +++rustc (1.12.0+dfsg1-2) unstable; urgency=medium +++ +++ * Ignore test run-make/no-duplicate-libs. Fails on i386 +++ * Ignore test run-pass-valgrind/down-with-thread-dtors.rs . Fails on arm64 +++ * I am not switching to llvm 3.9 now because a test freezes. The plan is +++ to silent the warning breaking the build and upload 1.12.1 after +++ +++ -- Sylvestre Ledru Wed, 05 Oct 2016 10:48:01 +0200 +++ +++rustc (1.12.0+dfsg1-1) unstable; urgency=medium +++ +++ * new upstream release +++ - Rebase of the patches and removal of deprecated patches +++ +++ -- Sylvestre Ledru Thu, 29 Sep 2016 20:45:04 +0200 +++ +++rustc (1.11.0+dfsg1-3) unstable; urgency=medium +++ +++ * Fix separate build-arch and build-indep builds. +++ +++ -- Ximin Luo Tue, 13 Sep 2016 12:30:41 +0200 +++ +++rustc (1.11.0+dfsg1-2) unstable; urgency=medium +++ +++ * Fix rebuilding against the current version, by backporting a patch I wrote +++ that was already applied upstream. Should fix the FTBFS that was observed +++ by tests.reproducible-builds.org. +++ * Ignore a failing stdcall test on arm64; should fix the FTBFS there. +++ * Backport a doctest fix I wrote, already applied upstream. +++ +++ -- Ximin Luo Mon, 12 Sep 2016 17:40:12 +0200 +++ +++rustc (1.11.0+dfsg1-1) unstable; urgency=medium +++ +++ * New upstream release +++ * Add versioned binutils dependency. (Closes: #819475, #823540) +++ +++ -- Ximin Luo Wed, 07 Sep 2016 10:31:57 +0200 +++ +++rustc (1.10.0+dfsg1-3) unstable; urgency=medium +++ +++ * Rebuild with LLVM 3.8, same as what upstream are using +++ * Dynamically link against LLVM. (Closes: #832565) +++ +++ -- Ximin Luo Sat, 30 Jul 2016 22:36:41 +0200 +++ +++rustc (1.10.0+dfsg1-2) unstable; urgency=medium +++ +++ * Tentatively support ARM architectures +++ * Include upstream arm64,armel,armhf stage0 compilers (i.e. 1.9.0 stable) +++ in a orig-dl tarball, like how we previously did for amd64,i386. +++ +++ -- Ximin Luo Fri, 22 Jul 2016 15:54:51 +0200 +++ +++rustc (1.10.0+dfsg1-1) unstable; urgency=medium +++ +++ * New upstream release +++ * Add myself to uploaders +++ * Update our build process to bootstrap from the previous Debian rustc stable +++ version by default. See README.Debian for other options. +++ * Update to latest Standards-Version; no changes required. +++ +++ -- Ximin Luo Sun, 17 Jul 2016 03:40:49 +0200 +++ +++rustc (1.9.0+dfsg1-1) unstable; urgency=medium +++ +++ * New upstream release (Closes: #825752) +++ +++ -- Sylvestre Ledru Sun, 29 May 2016 17:57:38 +0200 +++ +++rustc (1.8.0+dfsg1-1) unstable; urgency=medium +++ +++ * New upstream release +++ +++ [ Ximin Luo ] +++ * Fix using XZ for the orig tarball: needs explicit --repack in debian/watch +++ * Drop wno-error patch; applied upstream. +++ +++ -- Sylvestre Ledru Fri, 15 Apr 2016 12:01:45 +0200 +++ +++rustc (1.7.0+dfsg1-1) unstable; urgency=medium +++ +++ * New upstream release +++ +++ -- Sylvestre Ledru Thu, 03 Mar 2016 22:41:24 +0100 +++ +++rustc (1.6.0+dfsg1-3) unstable; urgency=medium +++ +++ * Apply upstream fix to silent a valgrind issue in the test suite +++ (Closes: ##812825) +++ * Add gcc & libc-dev as dependency of rustc to make sure it works +++ out of the box +++ +++ [ Ximin Luo ] +++ * Work around rust bug https://github.com/rust-lang/rust/issues/31529 +++ * Enable optional tests, and add verbosity/backtraces to tests +++ * Use XZ instead of GZ compression (will apply to the next new upload) +++ +++ -- Sylvestre Ledru Tue, 02 Feb 2016 15:08:11 +0100 +++ +++rustc (1.6.0+dfsg1-2) unstable; urgency=medium +++ +++ * mk/rt.mk: Modify upstream code to append -Wno-error rather than trying +++ to remove the string "-Werror". (Closes: #812448) +++ * Disable new gcc-6 "-Wmisleading-indentation" warning, which triggers +++ (incorrectly) on src/rt/miniz.c. (Closes: #811573) +++ * Guard arch-dependent dh_install commands appropriately, fixing +++ arch-indep-only builds. (Closes: #809124) +++ +++ -- Angus Lees Tue, 26 Jan 2016 05:40:14 +1100 +++ +++rustc (1.6.0+dfsg1-1) unstable; urgency=medium +++ +++ * new upstream release +++ +++ [ Ximin Luo ] +++ * Use secure links for Vcs-* fields. +++ +++ -- Sylvestre Ledru Fri, 22 Jan 2016 10:56:08 +0100 +++ +++rustc (1.5.0+dfsg1-1) unstable; urgency=medium +++ +++ * New upstream release +++ - We believe that we should let rust transit to testing +++ (Closes: #786836) +++ * Move away from hash to the same rust naming schema +++ +++ -- Sylvestre Ledru Thu, 10 Dec 2015 17:23:32 +0100 +++ +++rustc (1.4.0+dfsg1-1) unstable; urgency=medium +++ +++ * New upstream release +++ 198068b3 => 1bf6e69c +++ * Update the download url in debian/watch +++ +++ -- Sylvestre Ledru Fri, 30 Oct 2015 09:36:02 +0100 +++ +++rustc (1.3.0+dfsg1-1) unstable; urgency=medium +++ +++ * New upstream release +++ 62abc69f => 198068b3 +++ * jquery updated from 2.1.0 to 2.1.4 +++ +++ [ Ximin Luo ] +++ * Use LLVM 3.7 as upstream does, now that it's released. (Closes: #797626) +++ * Fix debian/copyright syntax mistakes. +++ * Don't Replace/Break previous versions of libstd-rust-* +++ * Check that the libstd-rust-* name in d/control matches upstream. +++ * Several other minor build tweaks. +++ +++ -- Sylvestre Ledru Sat, 19 Sep 2015 14:39:35 +0200 +++ +++rustc (1.2.0+dfsg1-1) unstable; urgency=medium +++ +++ * New upstream release +++ libstd-rust-7d23ff90 => libstd-rust-62abc69f +++ * Add llvm-3.6-tools to the build dep as it is +++ now needed for tests +++ * Fix the Vcs-Browser value +++ +++ -- Sylvestre Ledru Sat, 08 Aug 2015 23:13:44 +0200 +++ +++rustc (1.1.0+dfsg1-3) unstable; urgency=medium +++ +++ * rust-{gdb,lldb} now Replaces pre-split rustc package. +++ Closes: #793433. +++ * Several minor lintian cleanups. +++ +++ -- Angus Lees Fri, 24 Jul 2015 17:47:48 +1000 +++ +++rustc (1.1.0+dfsg1-2) unstable; urgency=medium +++ +++ [ Angus Lees ] +++ * Replace remote Rust logo with local file in HTML docs. +++ * Symlink rust-{gdb,lldb}.1 to {gdb,lldb}.1 manpages. +++ Note that gdb.1 requires the gdb-doc package, and that lldb.1 doesn't +++ exist yet (see #792908). +++ * Restore "Architecture: amd64 i386" filter, mistakenly removed in +++ previous version. Unfortunately the toolchain bootstrap isn't ready +++ to support all Debian archs yet. Closes: #793147. +++ +++ -- Angus Lees Wed, 22 Jul 2015 09:51:08 +1000 +++ +++rustc (1.1.0+dfsg1-1) unstable; urgency=low +++ +++ [ Angus Lees ] +++ * Set SONAME when building dylibs +++ * Split out libstd-rust, libstd-rust-dev, rust-gdb, rust-lldb from rustc +++ - libs are now installed into multiarch-friendly locations +++ - rpath is no longer required to use dylibs (but talk to Debian Rust +++ maintainers before building a package that depends on the dylibs) +++ * Install /usr/share/rustc/architecture.mk, which declares Rust arch +++ triples for Debian archs and is intended to help future Rust packaging +++ efforts. Warning: it may not be complete/accurate yet. +++ * New upstream release (1.1) +++ +++ -- Angus Lees Thu, 16 Jul 2015 14:23:47 +1000 +++ +++rustc (1.0.0+dfsg1-1) unstable; urgency=medium +++ +++ [ Angus Lees ] +++ * New upstream release (1.0!) +++ +++ [ Sylvestre Ledru ] +++ * Fix the watch file +++ * Update of the repack to remove llvm sources +++ +++ -- Sylvestre Ledru Sat, 16 May 2015 08:24:32 +1000 +++ +++rustc (1.0.0~beta.4-1~exp1) experimental; urgency=low +++ +++ [ Angus Lees ] +++ * New upstream release (beta 3) +++ - Drop manpage patch - now included upstream +++ * Replace duplicated compile-time dylibs with symlinks to run-time libs +++ (reduces installed size by ~68MB) +++ +++ [ Sylvestre Ledru ] +++ * New upstream release (beta 4) +++ * Replace two more occurrences of jquery by the package +++ * Repack upstream to remove an LLVM file with a non-DFSG license +++ +++ -- Sylvestre Ledru Wed, 06 May 2015 11:14:30 +0200 +++ +++rustc (1.0.0~alpha.2-1~exp1) experimental; urgency=low +++ +++ [ Angus Lees ] +++ * Patch upstream manpages to address minor troff issues +++ * Make 'debian/rules clean' also clean LLVM source +++ * Rename primary 'rust' binary package to 'rustc' +++ * Fix potential FTBFS: rust-doc requires texlive-fonts-recommended (for +++ pzdr.tfm) +++ * Build against system LLVM +++ +++ [ Sylvestre Ledru ] +++ * New testing release +++ * Renaming of the source package +++ * Set a minimal version for dpkg-dev and debhelper (for profiles) +++ * For now, disable build profiles as they are not supported in Debian +++ * Introduce some changes by Angus Lees +++ - Introduction of build stages +++ - Disable the parallel execution of tests +++ - Improving of the parallel syntax +++ - Use override_dh_auto_build-arch +++ - Use override_dh_auto_build-indep +++ - Better declarations of the doc +++ - Update of the description +++ - Watch file updated (with key check) +++ +++ [ Luca Bruno ] +++ * rules: respect 'nocheck' DEB_BUILD_OPTIONS +++ +++ -- Sylvestre Ledru Sat, 07 Mar 2015 09:25:47 +0100 +++ +++rust (1.0.0~alpha-0~exp1) experimental; urgency=low +++ +++ * Initial package (Closes: #689207) +++ Work done by Luca Bruno, Jordan Justen and Sylvestre Ledru +++ +++ -- Sylvestre Ledru Fri, 23 Jan 2015 15:47:37 +0100 diff --cc debian/check-orig-suspicious.sh index 0000000000,0000000000,0000000000..6c1a015ed2 new file mode 100755 --- /dev/null +++ b/debian/check-orig-suspicious.sh @@@@ -1,0 -1,0 -1,0 +1,35 @@@@ +++#!/bin/bash +++ +++set -e +++ +++ver="$1" +++test -n "$ver" || exit 2 +++ +++FILTER="Files-Excluded: in debian/copyright and run a repack." +++SUS_WHITELIST=$(find "${PWD}" -name upstream-tarball-unsuspicious.txt -type f) +++ +++rm -rf rustc-${ver/*~*/beta}-src/ +++tar xf ../rustc_$ver+dfsg1.orig.tar.xz && cd rustc-${ver/*~*/beta}-src/ +++ +++# Remove tiny files 4 bytes or less +++find . -size -4c -delete +++# Remove non-suspicious files, warning on patterns that match nothing +++echo "Excluding (i.e. removing) whitelisted files..." +++grep -v '^#' ${SUS_WHITELIST} | xargs -I% sh -c 'rm -r ./% || true' +++echo "Checking for suspicious files..." +++ +++# TODO: merge the -m stuff into suspicious-source(1). +++suspicious-source -v -m text/x-objective-c +++# The following shell snippet is a bit more strict than suspicious-source(1) +++find . -type f -and -not -name '.cargo-checksum.json' -exec file '{}' \; | \ +++ sed -e 's/\btext\b\(.*\), with very long lines/verylongtext\1/g' | \ +++ grep -v '\b\(text\|empty\)\b' || true +++ +++# Most C and JS code should be in their own package +++find src/vendor/ -name '*.c' -o -name '*.js' +++ +++echo "The above files (if any) seem suspicious, please audit them." +++echo "If good, add them to ${SUS_WHITELIST}." +++echo "If bad, add them to ${FILTER}." +++ +++echo "Artifacts left in rustc-$ver-src, please remove them yourself." diff --cc debian/compat index 0000000000,0000000000,0000000000..ec635144f6 new file mode 100644 --- /dev/null +++ b/debian/compat @@@@ -1,0 -1,0 -1,0 +1,1 @@@@ +++9 diff --cc debian/config.toml.in index 0000000000,0000000000,0000000000..2b1c9c0af6 new file mode 100644 --- /dev/null +++ b/debian/config.toml.in @@@@ -1,0 -1,0 -1,0 +1,52 @@@@ +++[build] +++submodules = false +++vendor = true +++locked-deps = false +++verbose = 2 +++ +++rustc = "RUST_DESTDIR/usr/bin/rustc" +++cargo = "RUST_DESTDIR/usr/bin/cargo" +++ +++build = "DEB_BUILD_RUST_TYPE" +++host = ["DEB_HOST_RUST_TYPE"] +++target = ["DEB_TARGET_RUST_TYPE"] +++ +++#full-bootstrap = true +++# originally needed to work around #45317 but no longer necessary +++# currently we have to omit it because it breaks #48319 +++ +++docs = BUILD_DOCS +++ +++[install] +++prefix = "/usr" +++ +++[target.DEB_BUILD_RUST_TYPE] +++llvm-config = "LLVM_DESTDIR/usr/lib/llvm-LLVM_VERSION/bin/llvm-config" +++ +++ifelse(DEB_BUILD_RUST_TYPE,DEB_HOST_RUST_TYPE,, +++[target.DEB_HOST_RUST_TYPE] +++llvm-config = "LLVM_DESTDIR/usr/lib/llvm-LLVM_VERSION/bin/llvm-config" +++ +++)dnl +++ifelse(DEB_BUILD_RUST_TYPE,DEB_TARGET_RUST_TYPE,,DEB_HOST_RUST_TYPE,DEB_TARGET_RUST_TYPE,, +++[target.DEB_TARGET_RUST_TYPE] +++llvm-config = "LLVM_DESTDIR/usr/lib/llvm-LLVM_VERSION/bin/llvm-config" +++ +++)dnl +++[llvm] +++link-shared = true +++ +++[rust] +++use-jemalloc = false +++optimize = MAKE_OPTIMISATIONS +++dist-src = false +++ +++channel = "RELEASE_CHANNEL" +++ +++# parallel codegen interferes with reproducibility, see +++# https://github.com/rust-lang/rust/issues/34902#issuecomment-319463586 +++#codegen-units = 0 +++debuginfo = true +++debuginfo-lines = true +++debuginfo-only-std = false +++rpath = false diff --cc debian/control index 0000000000,0000000000,0000000000..4b62af6e6f new file mode 100644 --- /dev/null +++ b/debian/control @@@@ -1,0 -1,0 -1,0 +1,166 @@@@ +++Source: rustc +++Section: devel +++Priority: optional +++Maintainer: Rust Maintainers +++Uploaders: Jordan Justen , +++ Luca Bruno , +++ Sylvestre Ledru , +++ Angus Lees , +++ Ximin Luo +++# :native annotations are to support cross-compiling, see README.Debian +++Build-Depends: debhelper (>= 9), +++ dpkg-dev (>= 1.17.14), +++ python:native, +++ llvm-4.0-dev:native (>= 1:4.0.1-8), +++ llvm-4.0-tools:native (>= 1:4.0.1-8), +++ libllvm4.0 (>= 1:4.0.1-8), +++ autotools-dev, +++ cmake (>= 3.0) | cmake3, +++ gperf, +++ rustc [!amd64], +++# this is sometimes needed by rustc_llvm +++ zlib1g-dev:native, +++ zlib1g-dev, +++# used by rust-installer +++ liblzma-dev:native, +++# test dependencies: +++ binutils (>= 2.26) | binutils-2.26 , +++ git , +++ procps , +++# below are optional tools even for 'make check' +++ gdb (>= 7.12) , +++# Work around #864741. The version constraint for gdb above should already do +++# that, but this will keep things covered even in the case that they change +++# gdb-minimal to do a versioned Provides: gdb. +++# Extra build-deps needed for x.py to download stuff in pkg.rustc.dlstage0. +++ curl , +++ ca-certificates , +++Build-Conflicts: gdb-minimal +++Standards-Version: 4.1.3 +++Homepage: http://www.rust-lang.org/ +++Vcs-Git: https://anonscm.debian.org/git/pkg-rust/rust.git +++Vcs-Browser: https://anonscm.debian.org/cgit/pkg-rust/rust.git +++ +++Package: rustc +++Architecture: any +++Multi-Arch: allowed +++Pre-Depends: ${misc:Pre-Depends} +++Depends: ${shlibs:Depends}, ${misc:Depends}, libstd-rust-dev (= ${binary:Version}), +++ gcc, libc-dev, binutils (>= 2.26) +++Recommends: rust-gdb | rust-lldb +++Suggests: rust-src +++Description: Rust systems programming language +++ Rust is a curly-brace, block-structured expression language. It +++ visually resembles the C language family, but differs significantly +++ in syntactic and semantic details. Its design is oriented toward +++ concerns of "programming in the large", that is, of creating and +++ maintaining boundaries - both abstract and operational - that +++ preserve large-system integrity, availability and concurrency. +++ . +++ It supports a mixture of imperative procedural, concurrent actor, +++ object-oriented and pure functional styles. Rust also supports +++ generic programming and meta-programming, in both static and dynamic +++ styles. +++ +++Package: libstd-rust-1.24 +++Section: libs +++Architecture: any +++Multi-Arch: same +++Pre-Depends: ${misc:Pre-Depends} +++Depends: ${shlibs:Depends}, ${misc:Depends} +++Description: Rust standard libraries +++ Rust is a curly-brace, block-structured expression language. It +++ visually resembles the C language family, but differs significantly +++ in syntactic and semantic details. Its design is oriented toward +++ concerns of "programming in the large", that is, of creating and +++ maintaining boundaries - both abstract and operational - that +++ preserve large-system integrity, availability and concurrency. +++ . +++ It supports a mixture of imperative procedural, concurrent actor, +++ object-oriented and pure functional styles. Rust also supports +++ generic programming and meta-programming, in both static and dynamic +++ styles. +++ . +++ This package contains the standard Rust libraries, built as dylibs. +++ +++Package: libstd-rust-dev +++Section: libdevel +++Architecture: any +++Multi-Arch: same +++Depends: ${misc:Depends}, libstd-rust-1.24 (= ${binary:Version}) +++Description: Rust standard libraries - development files +++ Rust is a curly-brace, block-structured expression language. It +++ visually resembles the C language family, but differs significantly +++ in syntactic and semantic details. Its design is oriented toward +++ concerns of "programming in the large", that is, of creating and +++ maintaining boundaries - both abstract and operational - that +++ preserve large-system integrity, availability and concurrency. +++ . +++ It supports a mixture of imperative procedural, concurrent actor, +++ object-oriented and pure functional styles. Rust also supports +++ generic programming and meta-programming, in both static and dynamic +++ styles. +++ . +++ This package contains development files necessary to use the standard +++ Rust libraries. +++ +++Package: rust-gdb +++Architecture: all +++Depends: gdb, ${misc:Depends} +++Suggests: gdb-doc +++Replaces: rustc (<< 1.1.0+dfsg1-1) +++Description: Rust debugger (gdb) +++ Rust is a curly-brace, block-structured expression language. It +++ visually resembles the C language family, but differs significantly +++ in syntactic and semantic details. Its design is oriented toward +++ concerns of "programming in the large", that is, of creating and +++ maintaining boundaries - both abstract and operational - that +++ preserve large-system integrity, availability and concurrency. +++ . +++ It supports a mixture of imperative procedural, concurrent actor, +++ object-oriented and pure functional styles. Rust also supports +++ generic programming and meta-programming, in both static and dynamic +++ styles. +++ . +++ This package contains pretty printers and a wrapper script for +++ invoking gdb on rust binaries. +++ +++Package: rust-lldb +++Architecture: all +++# When updating, also update rust-lldb.links +++Depends: lldb-4.0, ${misc:Depends}, python-lldb-4.0 +++Replaces: rustc (<< 1.1.0+dfsg1-1) +++Description: Rust debugger (lldb) +++ Rust is a curly-brace, block-structured expression language. It +++ visually resembles the C language family, but differs significantly +++ in syntactic and semantic details. Its design is oriented toward +++ concerns of "programming in the large", that is, of creating and +++ maintaining boundaries - both abstract and operational - that +++ preserve large-system integrity, availability and concurrency. +++ . +++ It supports a mixture of imperative procedural, concurrent actor, +++ object-oriented and pure functional styles. Rust also supports +++ generic programming and meta-programming, in both static and dynamic +++ styles. +++ . +++ This package contains pretty printers and a wrapper script for +++ invoking lldb on rust binaries. +++ +++Package: rust-src +++Architecture: all +++Depends: ${misc:Depends} +++Description: Rust systems programming language - source code +++ Rust is a curly-brace, block-structured expression language. It +++ visually resembles the C language family, but differs significantly +++ in syntactic and semantic details. Its design is oriented toward +++ concerns of "programming in the large", that is, of creating and +++ maintaining boundaries - both abstract and operational - that +++ preserve large-system integrity, availability and concurrency. +++ . +++ It supports a mixture of imperative procedural, concurrent actor, +++ object-oriented and pure functional styles. Rust also supports +++ generic programming and meta-programming, in both static and dynamic +++ styles. +++ . +++ This package contains sources of the Rust compiler and standard +++ libraries, useful for IDEs and code analysis tools such as Racer. diff --cc debian/copyright index 0000000000,0000000000,0000000000..f77f0bdb4b new file mode 100644 --- /dev/null +++ b/debian/copyright @@@@ -1,0 -1,0 -1,0 +1,1319 @@@@ +++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +++Upstream-Name: rust +++Source: https://www.rust-lang.org +++Files-Excluded: +++ *.min.js +++ src/jemalloc +++ src/llvm +++ src/rt/hoedown/src/html_blocks.c +++ src/vendor/mdbook/src/theme/_FontAwesome +++ src/vendor/mdbook/src/theme/highlight.js +++ src/vendor/mdbook/src/theme/highlight.css +++# Exclude submodules https://github.com/rust-lang/rust/tree/master/src/tools +++# We prefer to do them in different Debian packages so they can have their own +++# version numbers. If upstream merges them "properly" (i.e. unify the version +++# numbers) then we can merge the packages in Debian. Note that cargotest here +++# does actually belong to rustc, it is an integration test suite for rustc to +++# check that certain popular crates continue to compile. It is not the same as +++# cargo's own test suite (in its own package) also called cargotest. +++# NB: don't exclude rust-installer, it's needed for "install" functionality +++ src/tools/cargo +++ src/tools/rls +++ src/tools/rustfmt +++ src/tools/miri +++# Embedded C libraries +++ src/vendor/backtrace-sys*/src/libbacktrace +++ src/vendor/lzma-sys*/xz-* +++# Embedded binary blobs +++ src/binaryen/bin/*.js +++ src/vendor/dbghelp-sys*/*/*.a +++ src/vendor/winapi-*/*/*.a +++ src/vendor/mdbook/src/theme/jquery.js +++ src/vendor/mdbook/src/theme/store.js +++ src/vendor/mdbook/src/theme/playpen_editor +++# Non-free-format documents already available in other formats +++ src/doc/book/second-edition/nostarch/odt +++# unused dependencies: +++# DO NOT EDIT below, AUTOGENERATED +++ src/vendor/advapi32-sys +++ src/vendor/aho-corasick-0.5.3 +++ src/vendor/bufstream +++ src/vendor/cargo_metadata +++ src/vendor/coco +++ src/vendor/commoncrypto +++ src/vendor/commoncrypto-sys +++ src/vendor/core-foundation +++ src/vendor/core-foundation-sys +++ src/vendor/crossbeam-0.2.10 +++ src/vendor/crossbeam +++ src/vendor/crypto-hash +++ src/vendor/curl +++ src/vendor/curl-sys +++ src/vendor/derive-new +++ src/vendor/docopt +++ src/vendor/endian-type +++ src/vendor/enum_primitive +++ src/vendor/env_logger-0.3.5 +++ src/vendor/failure +++ src/vendor/failure_derive +++ src/vendor/foreign-types +++ src/vendor/foreign-types-shared +++ src/vendor/fs2 +++ src/vendor/futures +++ src/vendor/git2 +++ src/vendor/git2-curl +++ src/vendor/glob +++ src/vendor/globset +++ src/vendor/hamcrest +++ src/vendor/hex +++ src/vendor/home +++ src/vendor/ignore +++ src/vendor/json +++ src/vendor/jsonrpc-core +++ src/vendor/languageserver-types +++ src/vendor/libgit2-sys +++ src/vendor/libssh2-sys +++ src/vendor/libz-sys +++ src/vendor/memchr-0.1.11 +++ src/vendor/memchr-1.0.2 +++ src/vendor/nibble_vec +++ src/vendor/num-bigint +++ src/vendor/num +++ src/vendor/num-complex +++ src/vendor/num-integer +++ src/vendor/num-iter +++ src/vendor/num-rational +++ src/vendor/openssl +++ src/vendor/openssl-probe +++ src/vendor/openssl-sys +++ src/vendor/psapi-sys +++ src/vendor/racer +++ src/vendor/radix_trie +++ src/vendor/rayon +++ src/vendor/rayon-core +++ src/vendor/regex-0.1.80 +++ src/vendor/regex-syntax-0.3.9 +++ src/vendor/rls-analysis +++ src/vendor/rls-rustc +++ src/vendor/rls-vfs +++ src/vendor/scoped-tls +++ src/vendor/scopeguard-0.1.2 +++ src/vendor/scopeguard +++ src/vendor/semver +++ src/vendor/serde_ignored +++ src/vendor/shell-escape +++ src/vendor/socket2 +++ src/vendor/synstructure +++ src/vendor/syntex_errors +++ src/vendor/syntex_pos +++ src/vendor/syntex_syntax +++ src/vendor/term +++ src/vendor/termcolor +++ src/vendor/thread-id +++ src/vendor/thread_local-0.2.7 +++ src/vendor/toml-0.2.1 +++ src/vendor/unicode-segmentation +++ src/vendor/unicode-xid-0.0.3 +++ src/vendor/url_serde +++ src/vendor/userenv-sys +++ src/vendor/utf8-ranges-0.1.3 +++ src/vendor/vcpkg +++ src/vendor/wincolor +++# DO NOT EDIT above, AUTOGENERATED +++ +++Files: C*.md +++ R*.md +++ COPYRIGHT +++ LICENSE* +++ configure +++ config.toml.example +++ git-commit-hash +++ src/Cargo.* +++ src/bootstrap/* +++ src/build_helper/* +++ src/ci/* +++ src/doc/* +++ src/etc/* +++ src/grammar/* +++ src/lib* +++ src/rt* +++ src/rust* +++ src/stage0.txt +++ src/tools/* +++ src/test/* +++ version +++ x.py +++Copyright: 2006-2009 Graydon Hoare +++ 2009-2012 Mozilla Foundation +++ 2012-2017 The Rust Project Developers (see AUTHORS.txt) +++License: MIT or Apache-2.0 +++ +++Files: src/binaryen/* +++Copyright: 2015-2017 Alon Zakai +++ 2015-2017 WebAssembly Community Group participants +++License: Apache-2.0 +++ +++Files: src/librustc_trans/cabi_x86_64.rs +++Copyright: 2008-2010 Tachyon Technologies +++License: BSD-2-clause +++ +++Files: src/libcompiler_builtins/compiler-rt/* +++Copyright: 2009-2015 Howard Hinnant +++ 2009-2015 The CompileRT Developers (see src/compiler-rt/CREDITS.TXT) +++License: BSD-3-clause or MIT +++ +++Files: src/libcompiler_builtins/compiler-rt/lib/BlocksRuntime/* +++Copyright: 2008-2010 Apple, Inc. +++License: MIT +++ +++Files: src/rt/hoedown/* +++Copyright: 2008 Natacha Porté +++ 2011 Vicent Martí +++ 2013 Devin Torres and the Hoedown authors +++License: ISC +++ +++Files: src/libbacktrace/* +++Copyright: 2012-2014 Free Software Foundation, Inc. +++ (written by Ian Lance Taylor, Google.) +++License: BSD-3-Clause +++ +++Files: +++ src/libbacktrace/filenames.h +++ src/libbacktrace/ansidecl.h +++ src/libbacktrace/hashtab.h +++ src/libbacktrace/ltmain.sh +++Copyright: 2000, 2001, 2007, 2010 Free Software Foundation, Inc. +++License: GPL-2+ +++ +++Files: src/libbacktrace/dwarf2.h +++Copyright: 1992, 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +++ 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +++ Free Software Foundation, Inc. +++License: GPL-3+ with GCC Runtime Library exception +++ +++Files: src/librustdoc/html/static/FiraSans* +++Copyright: 2014, Mozilla Foundation, 2014, Telefonica S.A. +++License: SIL-OPEN-FONT +++ +++Files: src/librustdoc/html/static/Heuristica* +++Copyright: 1989, 1991 Adobe Systems Incorporated, +++ 2006 Han The Thanh, Vntopia font family, +++ 2008-2012, Andrey V. Panov +++License: SIL-OPEN-FONT +++ +++Files: src/librustdoc/html/static/SourceCodePro* +++Copyright: 2010, 2012 Adobe Systems Incorporated +++License: SIL-OPEN-FONT +++ +++Files: src/librustdoc/html/static/SourceSerifPro* +++Copyright: 2014 Adobe Systems Incorporated +++License: SIL-OPEN-FONT +++ +++Files: src/librustdoc/html/static/main.js +++Copyright: 2014 The Rust Project Developers +++License: MIT or Apache-2.0 +++ +++Files: src/libstd/memchr.rs +++Copyright: 2015 Andrew Gallant, bluss and Nicolas Koch +++License: MIT or Apache-2.0 +++ +++Files: src/libstd/sync/mpsc/mpsc_queue.rs +++ src/libstd/sync/mpsc/spsc_queue.rs +++Copyright: 2010-2011 Dmitry Vyukov +++License: BSD-2-Clause +++ +++Files: src/vendor/bitflags/* +++ src/vendor/bitflags-* +++ src/vendor/cc/* +++ src/vendor/cmake/* +++ src/vendor/env_logger/* +++ src/vendor/getopts/* +++ src/vendor/libc/* +++ src/vendor/log/* +++ src/vendor/log-0*/* +++ src/vendor/num-traits/* +++ src/vendor/rand/* +++ src/vendor/regex/* +++ src/vendor/regex-syntax/* +++ src/vendor/rustc-serialize/* +++ src/vendor/tempdir/* +++ src/vendor/time/* +++Copyright: 2014-2018 The Rust Project Developers +++License: MIT or Apache-2.0 +++Comment: +++ This is a collection of external crates embedded here to bootstrap cargo. +++ Most of them come from the original upstream Rust project, thus share the +++ same MIT/Apache-2.0 dual-license. See https://github.com/rust-lang. +++ Exceptions are noted below. +++ +++Files: src/vendor/cssparser/* +++ src/vendor/cssparser-macros/* +++ src/vendor/fnv/* +++ src/vendor/futf/* +++ src/vendor/html5ever/* +++ src/vendor/markup5ever/* +++ src/vendor/procedural-masquerade/* +++ src/vendor/string_cache/* +++ src/vendor/string_cache_codegen/* +++ src/vendor/string_cache_shared/* +++ src/vendor/tendril/* +++ src/vendor/unicode-bidi/* +++Copyright: 2015-2017 Alex Crichton +++ 2015-2017 Keegan McAllister +++ 2015-2017 Chris Morgan +++ 2014-2017 The html5ever Project Developers +++ 2014-2017 The Servo Project Developers +++ 2013-2017 Simon Sapin +++License: MIT or Apache-2.0 +++Comment: see https://github.com/servo/ +++ +++Files: src/vendor/selectors/* +++ src/vendor/smallvec/* +++ src/vendor/smallvec-0*/* +++Copyright: 2012-2017 Simon Sapin +++ 2012-2017 Alan Jeffrey +++License: MPL-2.0 +++Comment: see https://github.com/servo/ +++ +++Files: src/dlmalloc/* +++ src/vendor/backtrace/* +++ src/vendor/backtrace-sys/* +++ src/vendor/cfg-if/* +++ src/vendor/filetime/* +++ src/vendor/flate2/* +++ src/vendor/jobserver/* +++ src/vendor/lzma-sys/* +++ src/vendor/miow/* +++ src/vendor/miniz-sys/* +++ src/vendor/pkg-config/* +++ src/vendor/rustc-demangle/* +++ src/vendor/tar/* +++ src/vendor/toml/* +++ src/vendor/xz2/* +++Copyright: 2014-2017 Alex Crichton +++ 2015-2017 The Rust Project Developers +++License: MIT or Apache-2.0 +++Comment: see https://github.com/alexcrichton/ +++ +++Files: src/vendor/ansi_term/* +++Copyright: 2014-2016 ogham@bsago.me +++ 2014-2016 Ryan Scheel (Havvy) +++License: MIT +++Comment: see https://github.com/ogham/rust-ansi-term +++ +++Files: src/vendor/aho-corasick/* +++ src/vendor/memchr/* +++ src/vendor/same-file/* +++ src/vendor/utf8-ranges/* +++ src/vendor/walkdir/* +++Copyright: 2015 Andrew Gallant +++ 2015-2018 bluss +++License: MIT or Unlicense +++Comment: see upstream projects, +++ * https://github.com/docopt/docopt.rs +++ * https://github.com/BurntSushi/aho-corasick +++ * https://github.com/BurntSushi/rust-memchr +++ * https://github.com/BurntSushi/utf8-ranges +++ +++Files: src/vendor/ar/* +++Copyright: 2017 Matthew D. Steele +++License: MIT +++Comment: see https://github.com/mdsteele/rust-ar +++ +++Files: src/vendor/atty/* +++Copyright: 2015-2017 softprops +++License: MIT +++Comment: see https://github.com/softprops/atty +++ +++Files: src/vendor/byteorder/* +++Copyright: 2015-2017 Andrew Gallant +++License: Unlicense or MIT +++Comment: see https://github.com/BurntSushi/byteorder +++ +++Files: src/vendor/cargo_metadata-0*/* +++ src/vendor/log_settings/* +++ src/vendor/quine-mc_cluskey/* +++Copyright: 2016-2018 Oliver Schneider +++License: MIT +++Comment: see https://github.com/oli-obk/cargo_metadata +++ see https://github.com/oli-obk/quine-mc_cluskey +++ see https://github.com/oli-obk/log_settings +++ +++Files: src/vendor/clap/* +++Copyright: 2015-2017 Kevin K. +++License: MIT +++Comment: see https://github.com/kbknapp/clap-rs.git +++ +++Files: src/vendor/compiletest_rs/* +++Copyright: 2015-2018 The Rust Project Developers +++ 2015-2018 Thomas Bracht Laumann Jespersen +++ 2015-2018 Manish Goregaokar +++License: Apache-2.0 or MIT +++Comment: see https://github.com/laumann/compiletest-rs +++ +++Files: src/vendor/dbghelp-sys/* +++ src/vendor/kernel32-sys/* +++ src/vendor/winapi/* +++ src/vendor/winapi-0*/* +++ src/vendor/winapi-build/* +++ src/vendor/ws2_32-sys/* +++Copyright: 2014-2018 Peter Atashian +++ 2014-2018 winapi-rs developers +++License: MIT +++Comment: see https://github.com/retep998/winapi-rs +++ +++Files: src/vendor/winapi-*-pc-windows-gnu/* +++Copyright: 2014-2018 Peter Atashian +++License: MIT or Apache-2.0 +++Comment: see https://github.com/retep998/winapi-rs +++ +++Files: src/vendor/diff/* +++Copyright: 2015-2017 Utkarsh Kukreti +++License: MIT or Apache-2.0 +++Comment: see https://github.com/utkarshkukreti/diff.rs +++ +++Files: src/vendor/dtoa/* +++ src/vendor/itoa/* +++ src/vendor/quote/* +++ src/vendor/syn/* +++ src/vendor/synom/* +++Copyright: 2016-2017 David Tolnay +++License: MIT or Apache-2.0 +++Comment: +++ see https://github.com/dtolnay/dtoa +++ see https://github.com/dtolnay/itoa +++ see https://github.com/dtolnay/quote +++ see https://github.com/dtolnay/syn +++ +++Files: src/vendor/duct/* +++Copyright: 2016-2017 oconnor663@gmail.com +++License: MIT +++Comment: see https://github.com/oconnor663/duct.rs +++ +++Files: src/vendor/either/* +++ src/vendor/itertools/* +++Copyright: 2014-2018 bluss +++License: MIT or Apache-2.0 +++Comment: see https://github.com/bluss/rust-itertools +++ see https://github.com/bluss/either +++ +++Files: src/vendor/error-chain/* +++ src/vendor/error-chain-0*/* +++Copyright: 2016-2017 Brian Anderson +++ 2016-2017 Paul Colomiets +++ 2016-2017 Colin Kiegel +++ 2016-2017 Yamakaky +++License: MIT or Apache-2.0 +++Comment: see https://github.com/brson/error-chain +++ +++Files: src/vendor/fuchsia-zircon/* +++ src/vendor/fuchsia-zircon-sys/* +++Copyright: 2014-2018 Raph Levien +++License: BSD-3-Clause +++Comment: see https://fuchsia.googlesource.com/garnet/ +++ +++Files: src/vendor/handlebars/* +++Copyright: 2014-2017 Ning Sun +++License: MIT +++Comment: see https://github.com/sunng87/handlebars-rust +++ +++Files: src/vendor/html-diff/* +++Copyright: 2017-2017 Guillaume Gomez +++License: MIT +++Comment: see https://github.com/GuillaumeGomez/html-diff-rs +++ +++Files: src/vendor/idna/* +++ src/vendor/percent-encoding/* +++ src/vendor/url/* +++Copyright: 2013-2017 The rust-url developers +++License: MIT or Apache-2.0 +++Comment: see https://github.com/servo/rust-url/ +++ +++Files: src/vendor/if_chain/* +++Copyright: 2016-2017 Chris Wong +++License: MIT or Apache-2.0 +++Comment: see https://github.com/lfairy/if_chain +++ +++Files: src/vendor/kuchiki/* +++ src/vendor/matches/* +++Copyright: 2014-2017 Simon Sapin +++License: MIT +++Comment: see https://github.com/SimonSapin +++ +++Files: src/vendor/lazycell/* +++Copyright: 2016-2017 Alex Crichton +++ 2016-2017 Nikita Pekin +++License: MIT or Apache-2.0 +++Comment: see https://github.com/indiv0/lazycell +++ +++Files: src/vendor/lazy_static/* +++ src/vendor/lazy_static-0*/* +++Copyright: 2014-2017 Marvin Löbel +++License: MIT or Apache-2.0 +++Comment: see https://github.com/rust-lang-nursery/lazy-static.rs +++ +++Files: src/vendor/mdbook/* +++Copyright: 2015-2017 Mathieu David +++License: MPL-2.0 +++Comment: see https://github.com/azerupi/mdBook +++ +++Files: src/vendor/miniz-sys/miniz.c +++Copyright: 1996-2012 Rich Geldreich +++License: Unlicense +++ +++Files: src/vendor/net2/* +++Copyright: 2015-2018 Alex Crichton +++License: MIT or Apache-2.0 +++Comment: see https://github.com/rust-lang-nursery/net2-rs +++ +++Files: src/vendor/nix/* +++Copyright: 2014-2018 The nix-rust Project Developers +++License: MIT +++Comment: see https://github.com/nix-rust/nix +++ +++Files: src/vendor/num_cpus/* +++Copyright: 2015 Sean McArthur +++License: MIT +++Comment: see https://github.com/seanmonstar/num_cpus +++ +++Files: src/vendor/open/* +++Copyright: 2015-2017 Sebastian Thiel +++License: MIT +++Comment: see https://github.com/Byron/open-rs +++ +++Files: src/vendor/os_pipe/* +++Copyright: 2016-2017 Jack O'Connor +++License: MIT +++Comment: see https://github.com/oconnor663/os_pipe.rs +++ +++Files: src/vendor/owning_ref/* +++Copyright: 2014-2017 Marvin Löbel +++License: MIT +++Comment: see https://github.com/Kimundi/owning-ref-rs +++ +++Files: src/vendor/parking_lot/* +++ src/vendor/parking_lot_core/* +++Copyright: 2016-2018 Amanieu d'Antras +++License: Apache-2.0 or MIT +++Comment: see https://github.com/Amanieu/parking_lot +++ +++Files: src/vendor/pest/* +++Copyright: 2016-2017 Dragoș Tiselice +++License: MPL-2.0 +++Comment: see https://github.com/dragostis/pest +++ +++Files: src/vendor/phf/* +++ src/vendor/phf_codegen/* +++ src/vendor/phf_generator/* +++ src/vendor/phf_shared/* +++Copyright: 2014-2017 Steven Fackler +++License: MIT +++Comment: see https://github.com/sfackler/rust-phf +++ +++Files: src/vendor/precomputed-hash/* +++Copyright: 2017 Emilio Cobos Álvarez +++License: MIT +++Comment: see https://github.com/emilio/precomputed-hash +++ +++Files: src/vendor/pulldown-cmark/* +++ src/vendor/pulldown-cmark-0* +++Copyright: 2015-2017 Raph Levien +++License: MIT +++Comment: see https://github.com/google/pulldown-cmark +++ +++Files: src/vendor/quick-error/* +++Copyright: 2015-2017 Paul Colomiets +++ 2015-2017 Colin Kiegel +++License: MIT or Apache-2.0 +++Comment: see http://github.com/tailhook/quick-error +++ +++Files: src/vendor/redox_syscall/* +++ src/vendor/redox_termios/* +++Copyright: 2016-2017 Jeremy Soller +++License: MIT +++Comment: see https://github.com/redox-os/syscall +++ see https://github.com/redox-os/termios +++ +++Files: src/vendor/rls-data/* +++ src/vendor/rls-span/* +++Copyright: 2016-2017 Nick Cameron +++License: Apache-2.0 or MIT +++Comment: see https://github.com/nrc/rls-span +++ see https://github.com/nrc/rls-data +++ +++Files: src/vendor/semver-0.*/* +++ src/vendor/semver-parser/* +++Copyright: 2014-2018 Steve Klabnik +++ 2014-2018 The Rust Project Developers +++License: MIT or Apache-2.0 +++Comment: +++ see https://github.com/steveklabnik/semver +++ see https://github.com/steveklabnik/semver-parser +++ +++Files: src/vendor/serde/* +++ src/vendor/serde_json/* +++Copyright: 2014-2017 Erick Tryzelaar +++License: MIT or Apache-2.0 +++Comment: +++ see https://github.com/serde-rs/serde +++ see https://github.com/serde-rs/json +++ +++Files: src/vendor/serde_derive/* +++ src/vendor/serde_derive_internals/* +++Copyright: 2014-2017 Erick Tryzelaar +++ 2016-2017 David Tolnay +++License: MIT or Apache-2.0 +++Comment: see https://github.com/serde-rs/serde +++ +++Files: src/vendor/shared_child/* +++Copyright: 2017-2017 jacko +++License: MIT +++Comment: see https://github.com/oconnor663/shared_child.rs +++ +++Files: src/vendor/siphasher/* +++Copyright: 2016-2017 Frank Denis +++License: MIT or Apache-2.0 +++Comment: see https://github.com/jedisct1/rust-siphash +++ +++Files: src/vendor/stable_deref_trait/* +++Copyright: 2017-2017 Robert Grosse +++License: MIT or Apache-2.0 +++Comment: see https://github.com/storyyeller/stable_deref_trait +++ +++Files: src/vendor/strsim/* +++Copyright: 2015 Danny Guo +++License: MIT +++Comment: see https://github.com/dguo/strsim-rs +++ +++Files: src/vendor/termion/* +++Copyright: 2016-2017 ticki +++ 2016-2017 gycos +++ 2016-2017 IGI-111 +++License: MIT +++Comment: see https://github.com/ticki/termion +++ +++Files: src/vendor/textwrap/* +++Copyright: 2016-2017 Martin Geisler +++License: MIT +++Comment: see https://github.com/mgeisler/textwrap +++ +++Files: src/vendor/thread_local/* +++Copyright: 2016 Amanieu d'Antras +++License: MIT or Apache-2.0 +++Comment: see https://github.com/Amanieu/thread_local-rs +++ +++Files: src/vendor/unicode-normalization/* +++ src/vendor/unicode-width/* +++Copyright: 2015-2017 kwantam +++License: MIT or Apache-2.0 +++Comment: +++ see https://github.com/unicode-rs/unicode-segmentation +++ see https://github.com/unicode-rs/unicode-width +++ see https://github.com/unicode-rs/unicode-normalization +++ +++Files: src/vendor/unicode-xid/* +++Copyright: 2015-2017 erick.tryzelaar +++ 2015-2017 kwantam +++License: MIT or Apache-2.0 +++Comment: see https://github.com/unicode-rs/unicode-xid +++ +++Files: src/vendor/utf-8/* +++Copyright: 2015-2017 Simon Sapin +++License: MIT or Apache-2.0 +++Comment: see https://github.com/SimonSapin/rust-utf8 +++ +++Files: src/vendor/vec_map/* +++Copyright: 2015-2017 Alexis Beingessner +++ 2015-2017 Andrew Paseltiner +++ 2015-2017 contain-rs developers +++ 2015-2017 The Rust Project Developers +++License: MIT or Apache-2.0 +++Comment: see https://github.com/contain-rs/vec-map +++ +++Files: src/vendor/debug_unreachable/* +++ src/vendor/unreachable/* +++ src/vendor/unreachable-0* +++ src/vendor/void/* +++Copyright: 2014-2017 Jonathan Reem +++License: MIT +++Comment: +++ see https://github.com/reem/rust-debug-unreachable.git +++ see https://github.com/reem/rust-unreachable.git +++ see https://github.com/reem/rust-void.git +++ +++Files: src/vendor/mac/* +++Copyright: 2015-2017 Jonathan Reem +++License: MIT or Apache-2.0 +++Comment: see https://github.com/reem/rust-mac.git +++ +++Files: src/vendor/xattr/* +++Copyright: 2015-2017 Steven Allen +++License: MIT or Apache-2.0 +++Comment: see https://github.com/Stebalien/xattr +++ +++Files: src/vendor/yaml-rust/* +++Copyright: 2015-2017 Yuheng Chen +++License: MIT or Apache-2.0 +++Comment: see https://github.com/chyh1990/yaml-rust +++ +++Files: debian/* +++Copyright: 2013-2017 Debian Rust Maintainers +++License: MIT or Apache-2.0 +++ +++Files: debian/icons/rust-logo-32x32-blk.png +++Copyright: Mozilla Foundation +++License: CC-BY +++Comment: +++ Relevant discussion in https://github.com/rust-lang/rust/issues/11562 +++ +++License: Apache-2.0 +++ On Debian systems, the full text of the Apache License +++ Version 2.0 can be found in the file +++ `/usr/share/common-licenses/Apache-2.0'. +++ +++License: BSD-2-clause +++ Redistribution and use in source and binary forms, with +++ or without modification, are permitted provided that the +++ following conditions are met: +++ . +++ 1. Redistributions of source code must retain the above +++ copyright notice, this list of conditions and the +++ following disclaimer. +++ 2. Redistributions in binary form must reproduce the +++ above copyright notice, this list of conditions and +++ the following disclaimer in the documentation and/or +++ other materials provided with the distribution. +++ . +++ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS +++ ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +++ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +++ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +++ DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR +++ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +++ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +++ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +++ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +++ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +++ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +++ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +++ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +++ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +++ +++License: MIT +++ Permission is hereby granted, free of charge, to any +++ person obtaining a copy of this software and associated +++ documentation files (the "Software"), to deal in the +++ Software without restriction, including without +++ limitation the rights to use, copy, modify, merge, +++ publish, distribute, sublicense, and/or sell copies of +++ the Software, and to permit persons to whom the Software +++ is furnished to do so, subject to the following +++ conditions: +++ . +++ The above copyright notice and this permission notice +++ shall be included in all copies or substantial portions +++ of the Software. +++ . +++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +++ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +++ TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +++ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +++ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +++ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +++ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +++ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +++ DEALINGS IN THE SOFTWARE. +++ +++License: BSD-3-clause +++ Redistribution and use in source and binary forms, with or without +++ modification, are permitted provided that the following conditions +++ are met: +++ 1. Redistributions of source code must retain the above copyright +++ notice, this list of conditions and the following disclaimer. +++ 2. Redistributions in binary form must reproduce the above copyright +++ notice, this list of conditions and the following disclaimer in the +++ documentation and/or other materials provided with the distribution. +++ 3. Neither the name of the organization nor the names of its contributors +++ may be used to endorse or promote products derived from this software +++ without specific prior written permission. +++ . +++ THIS SOFTWARE IS PROVIDED BY COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS'' AND +++ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +++ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +++ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +++ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +++ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +++ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +++ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +++ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +++ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +++ SUCH DAMAGE. +++ +++License: ISC +++ Permission to use, copy, modify, and distribute this software for any +++ purpose with or without fee is hereby granted, provided that the above +++ copyright notice and this permission notice appear in all copies. +++ . +++ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +++ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +++ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +++ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +++ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +++ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +++ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +++ +++License: Unlicense +++ This is free and unencumbered software released into the public domain. +++ . +++ Anyone is free to copy, modify, publish, use, compile, sell, or +++ distribute this software, either in source code form or as a compiled +++ binary, for any purpose, commercial or non-commercial, and by any +++ means. +++ . +++ In jurisdictions that recognize copyright laws, the author or authors +++ of this software dedicate any and all copyright interest in the +++ software to the public domain. We make this dedication for the +++ benefit of the public at large and to the detriment of our heirs and +++ successors. We intend this dedication to be an overt act of +++ relinquishment in perpetuity of all present and future rights to this +++ software under copyright law. +++ . +++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY +++ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +++ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +++ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +++ . +++ For more information, please refer to +++ +++License: SIL-OPEN-FONT +++ This Font Software is licensed under the SIL Open Font License, +++ Version 1.1. +++ . +++ This license is copied below, and is also available with a FAQ at: +++ http://scripts.sil.org/OFL +++ . +++ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +++ . +++ PREAMBLE The goals of the Open Font License (OFL) are to stimulate +++ worldwide development of collaborative font projects, to support the font +++ creation efforts of academic and linguistic communities, and to provide +++ a free and open framework in which fonts may be shared and improved in +++ partnership with others. +++ . +++ The OFL allows the licensed fonts to be used, studied, modified and +++ redistributed freely as long as they are not sold by themselves. +++ The fonts, including any derivative works, can be bundled, embedded, +++ redistributed and/or sold with any software provided that any reserved +++ names are not used by derivative works. The fonts and derivatives, +++ however, cannot be released under any other type of license. The +++ requirement for fonts to remain under this license does not apply to +++ any document created using the fonts or their derivatives. +++ . +++ DEFINITIONS +++ "Font Software" refers to the set of files released by the Copyright +++ Holder(s) under this license and clearly marked as such. +++ This may include source files, build scripts and documentation. +++ . +++ "Reserved Font Name" refers to any names specified as such after the +++ copyright statement(s). +++ . +++ "Original Version" refers to the collection of Font Software components +++ as distributed by the Copyright Holder(s). +++ . +++ "Modified Version" refers to any derivative made by adding to, deleting, +++ or substituting ? in part or in whole ? +++ any of the components of the Original Version, by changing formats or +++ by porting the Font Software to a new environment. +++ . +++ "Author" refers to any designer, engineer, programmer, technical writer +++ or other person who contributed to the Font Software. +++ . +++ PERMISSION & CONDITIONS +++ . +++ Permission is hereby granted, free of charge, to any person obtaining a +++ copy of the Font Software, to use, study, copy, merge, embed, modify, +++ redistribute, and sell modified and unmodified copies of the Font +++ Software, subject to the following conditions: +++ . +++ 1) Neither the Font Software nor any of its individual components,in +++ Original or Modified Versions, may be sold by itself. +++ . +++ 2) Original or Modified Versions of the Font Software may be bundled, +++ redistributed and/or sold with any software, provided that each copy +++ contains the above copyright notice and this license. These can be +++ included either as stand-alone text files, human-readable headers or +++ in the appropriate machine-readable metadata fields within text or +++ binary files as long as those fields can be easily viewed by the user. +++ . +++ 3) No Modified Version of the Font Software may use the Reserved Font +++ Name(s) unless explicit written permission is granted by the +++ corresponding Copyright Holder. This restriction only applies to the +++ primary font name as presented to the users. +++ . +++ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +++ Software shall not be used to promote, endorse or advertise any +++ Modified Version, except to acknowledge the contribution(s) of the +++ Copyright Holder(s) and the Author(s) or with their explicit written +++ permission. +++ 5) The Font Software, modified or unmodified, in part or in whole, must +++ be distributed entirely under this license, and must not be distributed +++ under any other license. The requirement for fonts to remain under +++ this license does not apply to any document created using the Font +++ Software. +++ . +++ TERMINATION +++ This license becomes null and void if any of the above conditions are not met. +++ . +++ DISCLAIMER +++ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +++ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +++ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +++ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +++ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +++ FROM, OUT OF THE USE OR INABILITY +++ +++License: GPL-2+ +++ 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 +++ . +++ On Debian systems, see /usr/share/common-licenses/GPL-2 for the full +++ text of the GPL version 2. +++ +++License: GPL-3+ with GCC Runtime Library exception +++ GCC 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 3, or (at your option) any later +++ version. +++ . +++ GCC 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. +++ . +++ Under Section 7 of GPL version 3, you are granted additional +++ permissions described in the GCC Runtime Library Exception, version +++ 3.1, as published by the Free Software Foundation. +++ . +++ You should have received a copy of the GNU General Public License and +++ a copy of the GCC Runtime Library Exception along with this program; +++ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +++ . +++ +++License: CC-BY +++ Attribution 4.0 International +++ . +++ ======================================================================= +++ . +++ Creative Commons Corporation ("Creative Commons") is not a law firm and +++ does not provide legal services or legal advice. Distribution of +++ Creative Commons public licenses does not create a lawyer-client or +++ other relationship. Creative Commons makes its licenses and related +++ information available on an "as-is" basis. Creative Commons gives no +++ warranties regarding its licenses, any material licensed under their +++ terms and conditions, or any related information. Creative Commons +++ disclaims all liability for damages resulting from their use to the +++ fullest extent possible. +++ . +++ Using Creative Commons Public Licenses +++ . +++ Creative Commons public licenses provide a standard set of terms and +++ conditions that creators and other rights holders may use to share +++ original works of authorship and other material subject to copyright +++ and certain other rights specified in the public license below. The +++ following considerations are for informational purposes only, are not +++ exhaustive, and do not form part of our licenses. +++ . +++ Considerations for licensors: Our public licenses are +++ intended for use by those authorized to give the public +++ permission to use material in ways otherwise restricted by +++ copyright and certain other rights. Our licenses are +++ irrevocable. Licensors should read and understand the terms +++ and conditions of the license they choose before applying it. +++ Licensors should also secure all rights necessary before +++ applying our licenses so that the public can reuse the +++ material as expected. Licensors should clearly mark any +++ material not subject to the license. This includes other CC- +++ licensed material, or material used under an exception or +++ limitation to copyright. More considerations for licensors: +++ wiki.creativecommons.org/Considerations_for_licensors +++ . +++ Considerations for the public: By using one of our public +++ licenses, a licensor grants the public permission to use the +++ licensed material under specified terms and conditions. If +++ the licensor's permission is not necessary for any reason--for +++ example, because of any applicable exception or limitation to +++ copyright--then that use is not regulated by the license. Our +++ licenses grant only permissions under copyright and certain +++ other rights that a licensor has authority to grant. Use of +++ the licensed material may still be restricted for other +++ reasons, including because others have copyright or other +++ rights in the material. A licensor may make special requests, +++ such as asking that all changes be marked or described. +++ Although not required by our licenses, you are encouraged to +++ respect those requests where reasonable. More_considerations +++ for the public: +++ wiki.creativecommons.org/Considerations_for_licensees +++ . +++ ======================================================================= +++ . +++ Creative Commons Attribution 4.0 International Public License +++ . +++ By exercising the Licensed Rights (defined below), You accept and agree +++ to be bound by the terms and conditions of this Creative Commons +++ Attribution 4.0 International Public License ("Public License"). To the +++ extent this Public License may be interpreted as a contract, You are +++ granted the Licensed Rights in consideration of Your acceptance of +++ these terms and conditions, and the Licensor grants You such rights in +++ consideration of benefits the Licensor receives from making the +++ Licensed Material available under these terms and conditions. +++ . +++ . +++ Section 1 -- Definitions. +++ . +++ a. Adapted Material means material subject to Copyright and Similar +++ Rights that is derived from or based upon the Licensed Material +++ and in which the Licensed Material is translated, altered, +++ arranged, transformed, or otherwise modified in a manner requiring +++ permission under the Copyright and Similar Rights held by the +++ Licensor. For purposes of this Public License, where the Licensed +++ Material is a musical work, performance, or sound recording, +++ Adapted Material is always produced where the Licensed Material is +++ synched in timed relation with a moving image. +++ . +++ b. Adapter's License means the license You apply to Your Copyright +++ and Similar Rights in Your contributions to Adapted Material in +++ accordance with the terms and conditions of this Public License. +++ . +++ c. Copyright and Similar Rights means copyright and/or similar rights +++ closely related to copyright including, without limitation, +++ performance, broadcast, sound recording, and Sui Generis Database +++ Rights, without regard to how the rights are labeled or +++ categorized. For purposes of this Public License, the rights +++ specified in Section 2(b)(1)-(2) are not Copyright and Similar +++ Rights. +++ . +++ d. Effective Technological Measures means those measures that, in the +++ absence of proper authority, may not be circumvented under laws +++ fulfilling obligations under Article 11 of the WIPO Copyright +++ Treaty adopted on December 20, 1996, and/or similar international +++ agreements. +++ . +++ e. Exceptions and Limitations means fair use, fair dealing, and/or +++ any other exception or limitation to Copyright and Similar Rights +++ that applies to Your use of the Licensed Material. +++ . +++ f. Licensed Material means the artistic or literary work, database, +++ or other material to which the Licensor applied this Public +++ License. +++ . +++ g. Licensed Rights means the rights granted to You subject to the +++ terms and conditions of this Public License, which are limited to +++ all Copyright and Similar Rights that apply to Your use of the +++ Licensed Material and that the Licensor has authority to license. +++ . +++ h. Licensor means the individual(s) or entity(ies) granting rights +++ under this Public License. +++ . +++ i. Share means to provide material to the public by any means or +++ process that requires permission under the Licensed Rights, such +++ as reproduction, public display, public performance, distribution, +++ dissemination, communication, or importation, and to make material +++ available to the public including in ways that members of the +++ public may access the material from a place and at a time +++ individually chosen by them. +++ . +++ j. Sui Generis Database Rights means rights other than copyright +++ resulting from Directive 96/9/EC of the European Parliament and of +++ the Council of 11 March 1996 on the legal protection of databases, +++ as amended and/or succeeded, as well as other essentially +++ equivalent rights anywhere in the world. +++ . +++ k. You means the individual or entity exercising the Licensed Rights +++ under this Public License. Your has a corresponding meaning. +++ . +++ . +++ Section 2 -- Scope. +++ . +++ a. License grant. +++ . +++ 1. Subject to the terms and conditions of this Public License, +++ the Licensor hereby grants You a worldwide, royalty-free, +++ non-sublicensable, non-exclusive, irrevocable license to +++ exercise the Licensed Rights in the Licensed Material to: +++ . +++ a. reproduce and Share the Licensed Material, in whole or +++ in part; and +++ . +++ b. produce, reproduce, and Share Adapted Material. +++ . +++ 2. Exceptions and Limitations. For the avoidance of doubt, where +++ Exceptions and Limitations apply to Your use, this Public +++ License does not apply, and You do not need to comply with +++ its terms and conditions. +++ . +++ 3. Term. The term of this Public License is specified in Section +++ 6(a). +++ . +++ 4. Media and formats; technical modifications allowed. The +++ Licensor authorizes You to exercise the Licensed Rights in +++ all media and formats whether now known or hereafter created, +++ and to make technical modifications necessary to do so. The +++ Licensor waives and/or agrees not to assert any right or +++ authority to forbid You from making technical modifications +++ necessary to exercise the Licensed Rights, including +++ technical modifications necessary to circumvent Effective +++ Technological Measures. For purposes of this Public License, +++ simply making modifications authorized by this Section 2(a) +++ (4) never produces Adapted Material. +++ . +++ 5. Downstream recipients. +++ . +++ a. Offer from the Licensor -- Licensed Material. Every +++ recipient of the Licensed Material automatically +++ receives an offer from the Licensor to exercise the +++ Licensed Rights under the terms and conditions of this +++ Public License. +++ . +++ b. No downstream restrictions. You may not offer or impose +++ any additional or different terms or conditions on, or +++ apply any Effective Technological Measures to, the +++ Licensed Material if doing so restricts exercise of the +++ Licensed Rights by any recipient of the Licensed +++ Material. +++ . +++ 6. No endorsement. Nothing in this Public License constitutes or +++ may be construed as permission to assert or imply that You +++ are, or that Your use of the Licensed Material is, connected +++ with, or sponsored, endorsed, or granted official status by, +++ the Licensor or others designated to receive attribution as +++ provided in Section 3(a)(1)(A)(i). +++ . +++ b. Other rights. +++ . +++ 1. Moral rights, such as the right of integrity, are not +++ licensed under this Public License, nor are publicity, +++ privacy, and/or other similar personality rights; however, to +++ the extent possible, the Licensor waives and/or agrees not to +++ assert any such rights held by the Licensor to the limited +++ extent necessary to allow You to exercise the Licensed +++ Rights, but not otherwise. +++ . +++ 2. Patent and trademark rights are not licensed under this +++ Public License. +++ . +++ 3. To the extent possible, the Licensor waives any right to +++ collect royalties from You for the exercise of the Licensed +++ Rights, whether directly or through a collecting society +++ under any voluntary or waivable statutory or compulsory +++ licensing scheme. In all other cases the Licensor expressly +++ reserves any right to collect such royalties. +++ . +++ . +++ Section 3 -- License Conditions. +++ . +++ Your exercise of the Licensed Rights is expressly made subject to the +++ following conditions. +++ . +++ a. Attribution. +++ . +++ 1. If You Share the Licensed Material (including in modified +++ form), You must: +++ . +++ a. retain the following if it is supplied by the Licensor +++ with the Licensed Material: +++ . +++ i. identification of the creator(s) of the Licensed +++ Material and any others designated to receive +++ attribution, in any reasonable manner requested by +++ the Licensor (including by pseudonym if +++ designated); +++ . +++ ii. a copyright notice; +++ . +++ iii. a notice that refers to this Public License; +++ . +++ iv. a notice that refers to the disclaimer of +++ warranties; +++ . +++ v. a URI or hyperlink to the Licensed Material to the +++ extent reasonably practicable; +++ . +++ b. indicate if You modified the Licensed Material and +++ retain an indication of any previous modifications; and +++ . +++ c. indicate the Licensed Material is licensed under this +++ Public License, and include the text of, or the URI or +++ hyperlink to, this Public License. +++ . +++ 2. You may satisfy the conditions in Section 3(a)(1) in any +++ reasonable manner based on the medium, means, and context in +++ which You Share the Licensed Material. For example, it may be +++ reasonable to satisfy the conditions by providing a URI or +++ hyperlink to a resource that includes the required +++ information. +++ . +++ 3. If requested by the Licensor, You must remove any of the +++ information required by Section 3(a)(1)(A) to the extent +++ reasonably practicable. +++ . +++ 4. If You Share Adapted Material You produce, the Adapter's +++ License You apply must not prevent recipients of the Adapted +++ Material from complying with this Public License. +++ . +++ . +++ Section 4 -- Sui Generis Database Rights. +++ . +++ Where the Licensed Rights include Sui Generis Database Rights that +++ apply to Your use of the Licensed Material: +++ . +++ a. for the avoidance of doubt, Section 2(a)(1) grants You the right +++ to extract, reuse, reproduce, and Share all or a substantial +++ portion of the contents of the database; +++ . +++ b. if You include all or a substantial portion of the database +++ contents in a database in which You have Sui Generis Database +++ Rights, then the database in which You have Sui Generis Database +++ Rights (but not its individual contents) is Adapted Material; and +++ . +++ c. You must comply with the conditions in Section 3(a) if You Share +++ all or a substantial portion of the contents of the database. +++ . +++ For the avoidance of doubt, this Section 4 supplements and does not +++ replace Your obligations under this Public License where the Licensed +++ Rights include other Copyright and Similar Rights. +++ . +++ . +++ Section 5 -- Disclaimer of Warranties and Limitation of Liability. +++ . +++ a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE +++ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS +++ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF +++ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, +++ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, +++ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR +++ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, +++ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT +++ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT +++ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. +++ . +++ b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE +++ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, +++ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, +++ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, +++ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR +++ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN +++ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR +++ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR +++ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. +++ . +++ c. The disclaimer of warranties and limitation of liability provided +++ above shall be interpreted in a manner that, to the extent +++ possible, most closely approximates an absolute disclaimer and +++ waiver of all liability. +++ . +++ . +++ Section 6 -- Term and Termination. +++ . +++ a. This Public License applies for the term of the Copyright and +++ Similar Rights licensed here. However, if You fail to comply with +++ this Public License, then Your rights under this Public License +++ terminate automatically. +++ . +++ b. Where Your right to use the Licensed Material has terminated under +++ Section 6(a), it reinstates: +++ . +++ 1. automatically as of the date the violation is cured, provided +++ it is cured within 30 days of Your discovery of the +++ violation; or +++ . +++ 2. upon express reinstatement by the Licensor. +++ . +++ For the avoidance of doubt, this Section 6(b) does not affect any +++ right the Licensor may have to seek remedies for Your violations +++ of this Public License. +++ . +++ c. For the avoidance of doubt, the Licensor may also offer the +++ Licensed Material under separate terms or conditions or stop +++ distributing the Licensed Material at any time; however, doing so +++ will not terminate this Public License. +++ . +++ d. Sections 1, 5, 6, 7, and 8 survive termination of this Public +++ License. +++ . +++ . +++ Section 7 -- Other Terms and Conditions. +++ . +++ a. The Licensor shall not be bound by any additional or different +++ terms or conditions communicated by You unless expressly agreed. +++ . +++ b. Any arrangements, understandings, or agreements regarding the +++ Licensed Material not stated herein are separate from and +++ independent of the terms and conditions of this Public License. +++ . +++ . +++ Section 8 -- Interpretation. +++ . +++ a. For the avoidance of doubt, this Public License does not, and +++ shall not be interpreted to, reduce, limit, restrict, or impose +++ conditions on any use of the Licensed Material that could lawfully +++ be made without permission under this Public License. +++ . +++ b. To the extent possible, if any provision of this Public License is +++ deemed unenforceable, it shall be automatically reformed to the +++ minimum extent necessary to make it enforceable. If the provision +++ cannot be reformed, it shall be severed from this Public License +++ without affecting the enforceability of the remaining terms and +++ conditions. +++ . +++ c. No term or condition of this Public License will be waived and no +++ failure to comply consented to unless expressly agreed to by the +++ Licensor. +++ . +++ d. Nothing in this Public License constitutes or may be interpreted +++ as a limitation upon, or waiver of, any privileges and immunities +++ that apply to the Licensor or You, including from the legal +++ processes of any jurisdiction or authority. +++ . +++ . +++ ======================================================================= +++ . +++ Creative Commons is not a party to its public licenses. +++ Notwithstanding, Creative Commons may elect to apply one of its public +++ licenses to material it publishes and in those instances will be +++ considered the "Licensor." Except for the limited purpose of indicating +++ that material is shared under a Creative Commons public license or as +++ otherwise permitted by the Creative Commons policies published at +++ creativecommons.org/policies, Creative Commons does not authorize the +++ use of the trademark "Creative Commons" or any other trademark or logo +++ of Creative Commons without its prior written consent including, +++ without limitation, in connection with any unauthorized modifications +++ to any of its public licenses or any other arrangements, +++ understandings, or agreements concerning use of licensed material. For +++ the avoidance of doubt, this paragraph does not form part of the public +++ licenses. +++ . +++ Creative Commons may be contacted at creativecommons.org. +++ +++License: MPL-2.0 +++ This Source Code Form is subject to the terms of the Mozilla Public +++ License, v. 2.0. If a copy of the MPL was not distributed with this +++ file, You can obtain one at http://mozilla.org/MPL/2.0/. +++ . +++ On Debian systems, see /usr/share/common-licenses/MPL-2.0 for the full +++ text of the MPL version 2.0. diff --cc debian/docs index 0000000000,0000000000,0000000000..b43bf86b50 new file mode 100644 --- /dev/null +++ b/debian/docs @@@@ -1,0 -1,0 -1,0 +1,1 @@@@ +++README.md diff --cc debian/ensure-patch index 0000000000,0000000000,0000000000..b8562f2d93 new file mode 100755 --- /dev/null +++ b/debian/ensure-patch @@@@ -1,0 -1,0 -1,0 +1,15 @@@@ +++#!/bin/sh +++set -e +++ +++case "$1" in +++"-N") fwd=-N; rev=-R; verb="applied";; +++"-R") fwd=-R; rev=-N; verb="reversed";; +++*) echo >&2 "Usage: $0 <-N|-R> "; exit 2;; +++esac +++ +++if patch --dry-run -F0 -f $rev -p1 < "$2" >/dev/null; then +++ echo >&2 "patch already $verb: $2" +++ exit 0 +++fi +++patch --dry-run -F0 -f $fwd -p1 < "$2" +++patch -F0 -f $fwd -p1 < "$2" diff --cc debian/gbp.conf index 0000000000,0000000000,0000000000..d568e69c44 new file mode 100644 --- /dev/null +++ b/debian/gbp.conf @@@@ -1,0 -1,0 -1,0 +1,7 @@@@ +++[DEFAULT] +++pristine-tar = True +++ignore-branch = True +++ +++[import-orig] +++upstream-branch = upstream/experimental +++debian-branch = debian/experimental diff --cc debian/get-stage0.py index 0000000000,0000000000,0000000000..97e8a1c983 new file mode 100755 --- /dev/null +++ b/debian/get-stage0.py @@@@ -1,0 -1,0 -1,0 +1,31 @@@@ +++#!/usr/bin/python +++# Sometimes this might fail due to upstream changes. +++# In that case, you probably just need to override the failing step in our +++# DownloadOnlyRustBuild class below. +++ +++import sys +++ +++import bootstrap +++from bootstrap import RustBuild +++ +++class DownloadOnlyRustBuild(RustBuild): +++ triple = None +++ def build_bootstrap(self): +++ pass +++ def run(self, *args): +++ pass +++ def build_triple(self): +++ return self.triple +++ def update_submodules(self): +++ pass +++ def bootstrap_binary(self): +++ return "true" +++ +++def main(argv): +++ triple = argv.pop(1) +++ DownloadOnlyRustBuild.triple = triple +++ bootstrap.RustBuild = DownloadOnlyRustBuild +++ bootstrap.bootstrap() +++ +++if __name__ == '__main__': +++ main(sys.argv) diff --cc debian/icons/rust-logo-32x32-blk.png index 0000000000,0000000000,0000000000..9cc1452e37 new file mode 100644 Binary files differ diff --cc debian/libstd-rust-1.24.lintian-overrides index 0000000000,0000000000,0000000000..abfb4cd327 new file mode 100644 --- /dev/null +++ b/debian/libstd-rust-1.24.lintian-overrides @@@@ -1,0 -1,0 -1,0 +1,12 @@@@ +++# "libstd" just seemed too generic +++libstd-rust-1.24 binary: package-name-doesnt-match-sonames +++ +++# Rust doesn't use dev shlib symlinks nor any of the other shlib support stuff +++libstd-rust-1.24 binary: dev-pkg-without-shlib-symlink +++libstd-rust-1.24 binary: shlib-without-versioned-soname +++libstd-rust-1.24 binary: unused-shlib-entry-in-control-file +++ +++# Libraries that use libc symbols (libterm, libstd, etc) *are* linked +++# to libc. Lintian gets upset that some Rust libraries don't need +++# libc, boo hoo. +++libstd-rust-1.24 binary: library-not-linked-against-libc diff --cc debian/libstd-rust-dev.lintian-overrides index 0000000000,0000000000,0000000000..2e7ca28ed6 new file mode 100644 --- /dev/null +++ b/debian/libstd-rust-dev.lintian-overrides @@@@ -1,0 -1,0 -1,0 +1,8 @@@@ +++# I assure you, dear lintian, that "/usr/lib/rustlib/x86_64-unknown-linux-gnu/" +++# is indeed an arch-specific directory. +++libstd-rust-dev binary: arch-dependent-file-not-in-arch-specific-directory +++ +++# See debhelper bug #875780. This override is commented out because it's not +++# always needed, but we want it here for documentation purposes. Basically, +++# if you see it then you probably don't need to worry about it. +++#libstd-rust-dev binary: unstripped-static-library usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/lib*.rlib(*) diff --cc debian/lintian-to-copyright.sh index 0000000000,0000000000,0000000000..676b8ccec4 new file mode 100755 --- /dev/null +++ b/debian/lintian-to-copyright.sh @@@@ -1,0 -1,0 -1,0 +1,5 @@@@ +++#!/bin/sh +++# Pipe the output of lintian into this. +++sed -ne 's/.* file-without-copyright-information //p' | cut -d/ -f1-3 | sort -u | while read x; do +++ /usr/share/cargo/guess-crate-copyright "$x" +++done diff --cc debian/llvm-upstream-patch.sh index 0000000000,0000000000,0000000000..fc87971361 new file mode 100755 --- /dev/null +++ b/debian/llvm-upstream-patch.sh @@@@ -1,0 -1,0 -1,0 +1,9 @@@@ +++#!/bin/sh +++# Run this on https://github.com/llvm-mirror/llvm +++# Or another repo where the above is the "upstream" remote +++set -e +++head=$(git rev-parse --verify -q remotes/upstream/master || git rev-parse --verify -q remotes/origin/master) +++test -n "$head" +++for i in "$@"; do +++ git show $(git rev-list "$head" -n1 --grep='git-svn-id: .*@'"$i") > rL"$i".patch +++done diff --cc debian/make_orig-stage0_tarball.sh index 0000000000,0000000000,0000000000..c142683bd0 new file mode 100755 --- /dev/null +++ b/debian/make_orig-stage0_tarball.sh @@@@ -1,0 -1,0 -1,0 +1,42 @@@@ +++#!/bin/sh +++# See README.Debian "Bootstrapping" for details. +++# +++# You may want to use `debian/rules source_orig-stage0` instead of calling this +++# directly. +++ +++set -e +++ +++upstream_version="$(dpkg-parsechangelog -SVersion | sed -e 's/\(.*\)-.*/\1/g')" +++upstream_bootstrap_arch="${upstream_bootstrap_arch:-amd64 arm64 armel armhf i386 powerpc ppc64el s390x}" +++ +++rm -f stage0/*/*.sha256 +++mkdir -p stage0 build && ln -sf ../stage0 build/cache +++touch stage0/hack +++for deb_host_arch in $upstream_bootstrap_arch; do +++ make -s --no-print-directory -f debian/architecture-test.mk "rust-for-deb_${deb_host_arch}" | { +++ read deb_host_arch rust_triplet +++ PYTHONPATH=src/bootstrap debian/get-stage0.py "${rust_triplet}" +++ rm -rf "${rust_triplet}" +++ } +++done +++ +++tar --mtime=@"${SOURCE_DATE_EPOCH:-$(date +%s)}" --clamp-mtime \ +++ --owner=root --group=root \ +++ -cJf "../rustc_${upstream_version}.orig-stage0.tar.xz" \ +++ --transform "s/^stage0\///" \ +++ stage0/* +++ +++rm -f src/bootstrap/bootstrap.pyc +++ +++cat < +++ libfoo-1.2.3.so" symlink common with C/C++ when building with Rust, +++ and no need to communicate an alternate filename to use at run-time +++ vs compile time. If linking to a Rust dylib from C/C++ however, a +++ "libfoo.so -> libfoo-$hash.so" symlink may well be useful and in +++ this case DT_SONAME=libfoo-$hash.so would be required. More +++ mundanely, various tools (eg: dpkg-shlibdeps) complain if they don't +++ find DT_SONAME on shared libraries in public directories. +++ . +++ This patch passes -Wl,-soname=$outfile when building dylibs (and +++ using a GNU linker). +++Author: Angus Lees +++Forwarded: no +++ +++--- a/src/librustc_trans/back/link.rs ++++++ b/src/librustc_trans/back/link.rs +++@@ -1034,6 +1034,13 @@ +++ cmd.args(&rpath::get_rpath_flags(&mut rpath_config)); +++ } +++ ++++ if (crate_type == config::CrateTypeDylib || crate_type == config::CrateTypeCdylib) ++++ && t.options.linker_is_gnu { ++++ let filename = String::from(out_filename.file_name().unwrap().to_str().unwrap()); ++++ let soname = [String::from("-Wl,-soname=") + &filename]; ++++ cmd.args(&soname); ++++ } ++++ +++ // Finally add all the linker arguments provided on the command line along +++ // with any #[link_args] attributes found inside the crate +++ if let Some(ref args) = sess.opts.cg.link_args { diff --cc debian/patches/d-armel-disable-kernel-helpers.patch index 0000000000,0000000000,0000000000..fd04e604fc new file mode 100644 --- /dev/null +++ b/debian/patches/d-armel-disable-kernel-helpers.patch @@@@ -1,0 -1,0 -1,0 +1,15 @@@@ +++--- rustc-1.24.0+dfsg1/src/libcompiler_builtins/build.rs.orig 2018-02-12 16:56:07.000000000 -0200 ++++++ rustc-1.24.0+dfsg1/src/libcompiler_builtins/build.rs 2018-03-02 07:22:10.124164162 -0300 +++@@ -52,9 +52,9 @@ +++ } +++ +++ // Only emit the ARM Linux atomic emulation on pre-ARMv6 architectures. +++- if llvm_target[0] == "armv4t" || llvm_target[0] == "armv5te" { +++- println!("cargo:rustc-cfg=kernel_user_helpers") +++- } ++++ // if llvm_target[0] == "armv4t" || llvm_target[0] == "armv5te" { ++++ // println!("cargo:rustc-cfg=kernel_user_helpers") ++++ // } +++ } +++ +++ #[cfg(feature = "gen-tests")] diff --cc debian/patches/d-disable-cargo-vendor.patch index 0000000000,0000000000,0000000000..9967c26eea new file mode 100644 --- /dev/null +++ b/debian/patches/d-disable-cargo-vendor.patch @@@@ -1,0 -1,0 -1,0 +1,18 @@@@ +++Description: Don't check for cargo-vendor when building from (Debian's) git +++Author: Matthijs van Otterdijk +++Forwarded: not-needed +++--- +++--- a/src/bootstrap/dist.rs ++++++ b/src/bootstrap/dist.rs +++@@ -851,7 +851,10 @@ +++ } +++ +++ // If we're building from git sources, we need to vendor a complete distribution. +++- if build.rust_info.is_git() { ++++ // ++++ // Debian: disabling this block because the debian package is also in a git ++++ // repository, but cargo-vendor should not be installed or run. ++++ if false && build.rust_info.is_git() { +++ // Get cargo-vendor installed, if it isn't already. +++ let mut has_cargo_vendor = false; +++ let mut cmd = Command::new(&build.initial_cargo); diff --cc debian/patches/d-dont-download-stage0.patch index 0000000000,0000000000,0000000000..cc4dbe79b2 new file mode 100644 --- /dev/null +++ b/debian/patches/d-dont-download-stage0.patch @@@@ -1,0 -1,0 -1,0 +1,49 @@@@ +++Description: Don't download SHA256 if it's already available locally +++ In Debian we provide the stage0 tarballs as a separate component so that the +++ buildds don't need to access the network during the build. +++Author: Ximin Luo +++Forwarded: not-needed +++--- +++This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +++--- a/src/bootstrap/bootstrap.py ++++++ b/src/bootstrap/bootstrap.py +++@@ -24,16 +24,18 @@ +++ from time import time +++ +++ +++-def get(url, path, verbose=False): ++++def get(url, path, verbose=False, use_local_hash_if_present=True): +++ suffix = '.sha256' +++ sha_url = url + suffix +++ with tempfile.NamedTemporaryFile(delete=False) as temp_file: +++ temp_path = temp_file.name +++- with tempfile.NamedTemporaryFile(suffix=suffix, delete=False) as sha_file: +++- sha_path = sha_file.name ++++ sha_path = path + suffix +++ +++ try: +++- download(sha_path, sha_url, False, verbose) ++++ if use_local_hash_if_present and os.path.exists(sha_path): ++++ print("using already-download file " + sha_path) ++++ else: ++++ download(sha_path, sha_url, False, verbose) +++ if os.path.exists(path): +++ if verify(path, sha_path, False): +++ if verbose: +++@@ -51,7 +53,6 @@ +++ print("moving {} to {}".format(temp_path, path)) +++ shutil.move(temp_path, path) +++ finally: +++- delete_if_present(sha_path, verbose) +++ delete_if_present(temp_path, verbose) +++ +++ +++@@ -373,7 +374,7 @@ +++ +++ url = "{}/dist/{}".format(self._download_url, self.date) +++ tarball = os.path.join(rustc_cache, filename) +++- if not os.path.exists(tarball): ++++ if True: +++ get("{}/{}".format(url, filename), tarball, verbose=self.verbose) +++ unpack(tarball, self.bin_root(), match=pattern, verbose=self.verbose) +++ diff --cc debian/patches/d-host-duplicates.patch index 0000000000,0000000000,0000000000..6a73aa1e6d new file mode 100644 --- /dev/null +++ b/debian/patches/d-host-duplicates.patch @@@@ -1,0 -1,0 -1,0 +1,29 @@@@ +++Description: Work around #842634 on some machines, e.g. Debian porterboxes +++ This should remain commented-out in debian/patches/series, it's not needed everywhere +++Author: Ximin Luo +++Forwarded: not-needed +++--- +++This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +++--- a/src/libstd/sys_common/net.rs ++++++ b/src/libstd/sys_common/net.rs +++@@ -616,20 +616,3 @@ +++ .finish() +++ } +++ } +++- +++-#[cfg(test)] +++-mod tests { +++- use super::*; +++- use collections::HashMap; +++- +++- #[test] +++- fn no_lookup_host_duplicates() { +++- let mut addrs = HashMap::new(); +++- let lh = match lookup_host("localhost") { +++- Ok(lh) => lh, +++- Err(e) => panic!("couldn't resolve `localhost': {}", e) +++- }; +++- let _na = lh.map(|sa| *addrs.entry(sa).or_insert(0) += 1).count(); +++- assert!(addrs.values().filter(|&&v| v > 1).count() == 0); +++- } +++-} diff --cc debian/patches/d-ignore-removed-submodules.patch index 0000000000,0000000000,0000000000..ae18966af6 new file mode 100644 --- /dev/null +++ b/debian/patches/d-ignore-removed-submodules.patch @@@@ -1,0 -1,0 -1,0 +1,66 @@@@ +++Description: Ignore submodules that we're not building +++Author: Ximin Luo +++Forwarded: not-needed +++--- a/src/Cargo.toml ++++++ b/src/Cargo.toml +++@@ -15,26 +15,7 @@ +++ "tools/remote-test-client", +++ "tools/remote-test-server", +++ "tools/rust-installer", +++- "tools/cargo", +++ "tools/rustdoc", +++- "tools/rls", +++- "tools/rustfmt", +++- "tools/miri", +++- # FIXME(https://github.com/rust-lang/cargo/issues/4089): move these to exclude +++- "tools/rls/test_data/bin_lib", +++- "tools/rls/test_data/borrow_error", +++- "tools/rls/test_data/common", +++- "tools/rls/test_data/deglob", +++- "tools/rls/test_data/features", +++- "tools/rls/test_data/find_all_refs_no_cfg_test", +++- "tools/rls/test_data/find_impls", +++- "tools/rls/test_data/infer_bin", +++- "tools/rls/test_data/infer_custom_bin", +++- "tools/rls/test_data/infer_lib", +++- "tools/rls/test_data/multiple_bins", +++- "tools/rls/test_data/reformat", +++- "tools/rls/test_data/reformat_with_range", +++- "tools/rls/test_data/workspace_symbol", +++ ] +++ +++ # Curiously, compiletest will segfault if compiled with opt-level=3 on 64-bit +++@@ -59,8 +35,3 @@ +++ debug = false +++ debug-assertions = false +++ +++-[patch."https://github.com/rust-lang/cargo"] +++-cargo = { path = "tools/cargo" } +++- +++-[patch.crates-io] +++-rustfmt-nightly = { path = "tools/rustfmt" } +++--- a/src/bootstrap/bootstrap.py ++++++ b/src/bootstrap/bootstrap.py +++@@ -618,10 +618,6 @@ +++ args.append("--verbose") +++ if self.verbose > 1: +++ args.append("--verbose") +++- if self.use_locked_deps: +++- args.append("--locked") +++- if self.use_vendored_sources: +++- args.append("--frozen") +++ run(args, env=env, verbose=self.verbose) +++ +++ def build_triple(self): +++--- a/src/bootstrap/builder.rs ++++++ b/src/bootstrap/builder.rs +++@@ -589,8 +589,5 @@ +++ } +++- if self.config.locked_deps { +++- cargo.arg("--locked"); +++- } +++- if self.config.vendor || self.is_sudo { ++++ if self.is_sudo { +++ cargo.arg("--frozen"); +++ } +++ diff --cc debian/patches/d-no-web-dependencies-in-doc.patch index 0000000000,0000000000,0000000000..2fa5b3fca1 new file mode 100644 --- /dev/null +++ b/debian/patches/d-no-web-dependencies-in-doc.patch @@@@ -1,0 -1,0 -1,0 +1,609 @@@@ +++Description: Use local web resources instead of remote ones +++Author: Matthijs van Otterdijk +++Author: Ximin Luo +++Bug: https://github.com/azerupi/mdBook/issues/271 +++Comment: +++ Use https://github.com/infinity0/mdBook/tree/debian to help you rebase the +++ patch on top of a newer version. +++ . +++ Make sure the paths here match the ones in debian/rust-doc.links +++--- +++This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +++--- a/src/tools/linkchecker/main.rs ++++++ b/src/tools/linkchecker/main.rs +++@@ -149,6 +149,11 @@ +++ url.starts_with("irc:") || url.starts_with("data:") { +++ return; +++ } ++++ // Ignore parent URLs, so that the package installation process can ++++ // provide a symbolic link later ++++ if url.starts_with("../") { ++++ return; ++++ } +++ let mut parts = url.splitn(2, "#"); +++ let url = parts.next().unwrap(); +++ let fragment = parts.next(); +++--- a/src/doc/book/second-edition/theme/index.hbs ++++++ b/src/doc/book/second-edition/theme/index.hbs +++@@ -10,15 +10,13 @@ +++ +++ +++ +++- +++- +++ +++ +++ +++ +++- ++++ +++ +++- ++++ +++ +++ +++ +++@@ -95,27 +93,10 @@ +++ +++ {{#if mathjax_support}} +++ +++- ++++ +++ {{/if}} +++ +++- +++- +++- +++- +++- +++- +++- +++- +++- +++- ++++ +++ +++ +++ {{#each additional_js}} +++@@ -124,20 +105,6 @@ +++ +++ +++ +++- +++- +++- +++- +++- +++- +++ +++@@ -195,36 +162,9 @@ +++ +++ +++ +++- +++- +++- +++ +++ {{{livereload}}} +++ +++- {{#if google_analytics}} +++- +++- {{/if}} +++- +++- {{#if playpens_editable}} +++- +++- +++- +++- +++- +++- {{/if}} +++- +++ {{#if is_print}} +++ +++ {{/if}} +++ +++- ++++ +++ +++ +++ +++--- a/src/doc/reference/theme/index.hbs ++++++ b/src/doc/reference/theme/index.hbs +++@@ -10,15 +10,13 @@ +++ +++ +++ +++- +++- +++ +++ +++ +++ +++- ++++ +++ +++- ++++ +++ +++ +++