Skip to content
Snippets Groups Projects
Select Git revision
  • 33ea2dcb39ba50b0b69d1b1dc24702f084b46411
  • master default protected
  • android-msm-bullhead-3.10-nougat_kgdb_less_changes
  • android-msm-bullhead-3.10-nougat_kgdb
  • android-msm-bullhead-3.10-nougat_klist
  • android-4.4
  • android-msm-vega-4.4-oreo-daydream
  • android-msm-wahoo-4.4-p-preview-5
  • android-msm-wahoo-4.4-pie
  • android-msm-marlin-3.18-p-preview-5
  • android-msm-marlin-3.18-pie
  • android-msm-wahoo-2018.07-oreo-m2
  • android-msm-wahoo-2018.07-oreo-m4
  • android-msm-wahoo-4.4-p-preview-4
  • android-msm-bullhead-3.10-oreo-m6
  • android-msm-angler-3.10-oreo-m6
  • android-msm-marlin-3.18-p-preview-4
  • android-msm-stargazer-3.18-oreo-wear-dr
  • android-msm-catshark-3.18-oreo-wear-dr
  • android-msm-wahoo-4.4-oreo-m2
  • android-msm-wahoo-4.4-oreo-m4
  • android-daydreamos-8.0.0_r0.5
  • android-8.1.0_r0.92
  • android-8.1.0_r0.91
  • android-daydreamos-8.0.0_r0.4
  • android-p-preview-5_r0.2
  • android-p-preview-5_r0.1
  • android-9.0.0_r0.5
  • android-9.0.0_r0.4
  • android-9.0.0_r0.2
  • android-9.0.0_r0.1
  • android-8.1.0_r0.81
  • android-8.1.0_r0.80
  • android-8.1.0_r0.78
  • android-8.1.0_r0.76
  • android-8.1.0_r0.75
  • android-8.1.0_r0.72
  • android-8.1.0_r0.70
  • android-p-preview-4_r0.2
  • android-p-preview-4_r0.1
  • android-wear-8.0.0_r0.30
41 results

dma-buf.c

Blame
  • launchpad-fetch.sh 4.54 KiB
    #!/bin/bash
    set -euf -o pipefail
    
    BASEURL="https://launchpad.net"
    DIST="ubuntu"
    VERSION="focal"
    ARCH="amd64"
    EXTRACT=false
    DBGSYM=false
    SOURCE=false
    PATCH=false
    FORCE=false
    declare -a PACKAGES
    
    while getopts "A:D:V:d:sSfpxh" arg; do
    	case $arg in
    		h)
    			echo "Fetch (and extract) all package builds from launchpad"
    			echo
    			echo "Usage: $0 [-A arch] [-D dist] [-V version] [-d dir] [-s] [-S] [-p] [-x] [-h] package[s]"
    			echo
    			echo "   -A arch     Set architecture (default: ${ARCH})"
    			echo "   -D dist     Set distribution (default: ${DIST})"
    			echo "   -V version  Set distribution version (default: ${VERSION})"
    			echo "   -d dir      Set target directory (for all packages)"
    			echo "               instead of creating individual ones for each package"
    			echo "   -s          Try to retrieve debug symbols as well"
    			echo "               (by appending '-dbg' and '-dbgsym' to package)"
    			echo "   -S          Try to retrieve source files"
    			echo "   -f          Force downloading of files (overwrite if necessary)"
    			echo "   -p          Try to retrieve patch files"
    			echo "   -x          Extract packages (in corresponding subdirectories)"
    			echo "   -h          Show this help"
    			exit 0
    			;;
    		A)
    			ARCH=${OPTARG,,}
    			;;
    		D)
    			DIST=${OPTARG,,}
    			;;
    		V)
    			VERSION=${OPTARG,,}
    			;;
    		d)
    			TARGETDIR=$OPTARG
    			;;
    		s)
    			DBGSYM=true
    			;;
    		S)
    			SOURCE=true
    			;;
    		f)
    			FORCE=true
    			;;
    		p)
    			PATCH=true
    			;;
    		x)
    			EXTRACT=true
    			;;
    		*)
    			echo "Invalid argument '${arg}'"
    			exit 1
    			;;
    	esac
    done
    
    shift $((OPTIND-1))
    if [ $# -eq 9 ] ; then
    	echo "Missing package name"
    	exit 1
    else
    	for ARG in "$@" ; do
    		PACKAGES+=( "${ARG}" )
    		if [ "$DBGSYM" = true ] ; then
    			PACKAGES+=( "${ARG}-dbg" "${ARG}-dbgsym" )
    		fi
    	done
    fi
    
    function urldecode() {
    	: "${*//+/ }"
    	echo -e "${_//%/\\x}"
    }
    
    function download() {
    	url="$1"
    	file="$(urldecode ${url##*\/})"
    	dir="$2"
    	build="$3"
    	if [ "${FORCE}" = true -o ! -f "${dir}/${file}" ] ; then
    		echo " - fetching ${file}"
    		mkdir -p "${dir}"
    		wget -q -N -P "${dir}" "${url}"
    	fi
    	if [ "${EXTRACT}" = true ] ; then
    		echo " - extracting ${file}"
    		mkdir -p "${dir}/${build}"
    		case $file in
    			*\.tar\.gz | *\.tar\.xz | *\.tar\.bz2)
    				mkdir -p "${dir}/.source/${file%%.tar.*}"
    				tar -xf "${dir}/${file}" -C "${dir}/.source/${file%%.tar.*}/"
    				if [ ! -L "${dir}/${build}/${file%%.tar.*}" ] ; then
    					ln -r -s "${dir}/.source/${file%%.tar.*}" "${dir}/${build}/${file%%.tar.*}"
    				fi
    				;;
    			*\.gz)
    				zcat "${dir}/${file}" > "${dir}/${build}/${file%%.gz}"
    				;;
    			*\.deb | *\.ddeb)
    				dpkg-deb -x "${dir}/${file##*\/}" "${dir}/${build##*\/}"
    				;;
    			*)
    				if [ ! -L "${dir}/${build}/${file}" ] ; then
    					ln -r -s "${dir}/${file}" "${dir}/${build}/${file}"
    				fi
    				;;
    		esac
    	fi
    }
    
    
    TMP_OVERVIEW=$(mktemp)
    TMP_SOURCE=$(mktemp)
    for PACKAGE in ${PACKAGES[@]} ; do
    	if [ -z ${TARGETDIR+empty} ] ; then
    		DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )/${DIST}-${VERSION}/${PACKAGE%%-dbg*}"
    	else
    		DIR="${TARGETDIR}"
    	fi
    
    	echo -e "\e[1mSearching for all builds of '${PACKAGE}' in ${DIST} ${VERSION}\e[0m"
    	if wget -q "-O${TMP_OVERVIEW}" "${BASEURL}/${DIST}/${VERSION}/${ARCH}/${PACKAGE}" ; then
    		sed -ne "s|^.*<a href=\"\(/${DIST}/${VERSION}/${ARCH}/${PACKAGE}/.*\)\">.*</a>.*$|\1|p" "${TMP_OVERVIEW}" | sort -u | while read build ; do
    			echo "Checking ${build}..."
    
    			TMP_SITE=$(mktemp)
    			if wget -q "-O${TMP_SITE}" "${BASEURL}${build}" ; then
    				sed -ne "s|^.*<a class=\"sprite\" href=\"\(.*\.[d]\+eb\)\">.*</a>.*$|\1|p" "${TMP_SITE}" | sort -u | while read file ; do
    					download "${file}" "${DIR}" "${build##*\/}"
    				done
    
    				if [ "${SOURCE}" = true -o "${PATCH}" = true ] ; then
    					sed -ne "s|^.*<a href=\"\(/${DIST}/+source/.*\)\">.*</a>.*$|\1|p" "${TMP_SITE}" | grep -v "/+build/" | sort -u | while read source ; do
    						echo " - checking source at ${source}"
    
    						TMP_SOURCE=$(mktemp)
    						if wget -q "-O${TMP_SOURCE}" "${BASEURL}${source}" ; then
    
    							if [ "${SOURCE}" = true ] ; then
    								sed -ne "s|^.*<a class=\"sprite download\" href=\"\(.*\)\">.*</a>.*$|\1|p" "${TMP_SOURCE}" | sort -u | while read file ; do
    									download "$file" "${DIR}" "${build##*\/}"
    								done
    							fi
    
    							if [ "${PATCH}" = true ] ; then
    								sed -ne "s|^.*<a href=\"\(.*\.diff\.gz\)\">.*</a>.*$|\1|p" "${TMP_SOURCE}" | sort -u | while read file ; do
    									download "$file" "${DIR}" "${build##*\/}"
    								done
    							fi
    						fi
    						rm -f "${TMP_SOURCE}"
    					done
    				fi
    			fi
    			rm -f "${TMP_SITE}"
    		done
    	else
    		echo " (not found)"
    	fi
    done
    rm -f "${TMP_SOURCE}"
    
    rm "${TMP_OVERVIEW}"