diff options
Diffstat (limited to 'app-arch/makeself')
-rw-r--r-- | app-arch/makeself/Manifest | 5 | ||||
-rw-r--r-- | app-arch/makeself/files/makeself-2.2.0-help-header.patch | 124 | ||||
-rw-r--r-- | app-arch/makeself/files/makeself-unpack | 100 | ||||
-rw-r--r-- | app-arch/makeself/makeself-2.2.0-r2.ebuild | 27 | ||||
-rw-r--r-- | app-arch/makeself/metadata.xml | 8 |
5 files changed, 264 insertions, 0 deletions
diff --git a/app-arch/makeself/Manifest b/app-arch/makeself/Manifest new file mode 100644 index 000000000000..2e296a5685fa --- /dev/null +++ b/app-arch/makeself/Manifest @@ -0,0 +1,5 @@ +AUX makeself-2.2.0-help-header.patch 6728 BLAKE2B 7d0211074f68346ead19fd58d9440976ee0e5f0367b0776c186ced0ee77769cca7597948f2894aee68e9d3f42fb6e0e19dcdc378ce0dfe714596ab8ad705d13b SHA512 5cdee18f5190086e8421d091406df5aeefdc9fe3aaee6c26aa990b1eb7d6f415c8c8ebf67137a1b2a22470c14749d394808ed9e5a4fc6f737cd87c32651e2a8c +AUX makeself-unpack 2814 BLAKE2B cd96049b052b46a6d5273d78e27598f73046c1a29049af406f0f82c2c301e3b8f95c40534a18313eaffb6ac7ce68cbde1d988efa3503bb46f950936706e41590 SHA512 ebfe1dd13a11cd00a853e6a4e7d6094b5f923fbe987f6b5a778fec09e00e2b2daf1e5daab0eb04850d4471019fb95f88a5d2b9d88520f5738a29997d81f2c1c3 +DIST release-2.2.0.tar.gz 21640 BLAKE2B 32b06157829864918d225a136043a5c9b7c6c543351e981c0e3cdce84cbbe4c52f00870bb04d29bfd79e715c1c708b51cc9958d495a9633afb9a8d342601c20d SHA512 11cd536baed2d56405103f18a8318a202092755a74baf10730aa58dc57032e327697b1c7f76bf9bf438927093ba9ac467ffa0c4564c7f6b1d3b2b3936f34fa73 +EBUILD makeself-2.2.0-r2.ebuild 705 BLAKE2B b875164894c64ca897952cb4bc6ef8e9c0b5ec8e793e9e2ae2470d07190520306ebf3b92ae086b4ce0ca030a2a261656efb70d770985a7f8dc0aabb4810ab84b SHA512 d2f7fa649ef481a7b5a7fce78aebc7b7581ac374216bf778b26af642251ca44bcfbde3fdda261fe314cd9c5d1e1679e46941d0e8008c8f4c6a3ce106e27b1b81 +MISC metadata.xml 254 BLAKE2B 3ab17d846132717878fe0587992dc65ac209a16e145e687773a2221f2ea17cb0568d03b4c3b20954ff4ad7deb6e15ead243d5b0410742c2c4c7dd24c56d69081 SHA512 fb782a70e1be3e60d1cc5465b54e05eb5eb3956d281d0951cc53a7b0f320255bc0ec62ffd08b18c765dd6ee0ad3f8c364c93c52ea884375f2782a1bcb90fb9eb diff --git a/app-arch/makeself/files/makeself-2.2.0-help-header.patch b/app-arch/makeself/files/makeself-2.2.0-help-header.patch new file mode 100644 index 000000000000..5726bf55f7da --- /dev/null +++ b/app-arch/makeself/files/makeself-2.2.0-help-header.patch @@ -0,0 +1,124 @@ +From c9f605cb4a3903985f2c6f816c30c1edf728c1b5 Mon Sep 17 00:00:00 2001 +From: Jon Salz <jsalz@google.com> +Date: Mon, 27 Jan 2014 16:04:33 +0800 +Subject: [PATCH] Add --help-header option to prepend a string to the archive's + --help. + +--- + makeself-header.sh | 3 ++- + makeself.sh | 71 ++++++++++++++++++++++++++++++------------------------ + 2 files changed, 41 insertions(+), 33 deletions(-) + +diff --git a/makeself-header.sh b/makeself-header.sh +index e3f6c11..f97758c 100755 +--- a/makeself-header.sh ++++ b/makeself-header.sh +@@ -13,6 +13,7 @@ label="$LABEL" + script="$SCRIPT" + scriptargs="$SCRIPTARGS" + licensetxt="$LICENSE" ++helpheader='$HELPHEADER' + targetdir="$archdirname" + filesizes="$filesizes" + keep="$KEEP" +@@ -119,7 +120,7 @@ MS_dd_Progress() + MS_Help() + { + cat << EOH >&2 +-Makeself version $MS_VERSION ++\${helpheader}Makeself version $MS_VERSION + 1) Getting help or info about \$0 : + \$0 --help Print this message + \$0 --info Print embedded info : title, default target directory, embedded script ... +diff --git a/makeself.sh b/makeself.sh +index 361d710..cb2d6f2 100755 +--- a/makeself.sh ++++ b/makeself.sh +@@ -88,38 +88,39 @@ MS_Usage() + { + echo "Usage: $0 [params] archive_dir file_name label startup_script [args]" + echo "params can be one or more of the following :" +- echo " --version | -v : Print out Makeself version number and exit" +- echo " --help | -h : Print out this help message" +- echo " --quiet | -q : Do not print any messages other than errors." +- echo " --gzip : Compress using gzip (default if detected)" +- echo " --bzip2 : Compress using bzip2 instead of gzip" +- echo " --pbzip2 : Compress using pbzip2 instead of gzip" +- echo " --xz : Compress using xz instead of gzip" +- echo " --compress : Compress using the UNIX 'compress' command" +- echo " --complevel lvl : Compression level for gzip xz bzip2 and pbzip2 (default 9)" +- echo " --base64 : Instead of compressing, encode the data using base64" +- echo " --nocomp : Do not compress the data" +- echo " --notemp : The archive will create archive_dir in the" +- echo " current directory and uncompress in ./archive_dir" +- echo " --copy : Upon extraction, the archive will first copy itself to" +- echo " a temporary directory" +- echo " --append : Append more files to an existing Makeself archive" +- echo " The label and startup scripts will then be ignored" +- echo " --target dir : Extract directly to a target directory" +- echo " directory path can be either absolute or relative" +- echo " --current : Files will be extracted to the current directory" +- echo " Both --current and --target imply --notemp" +- echo " --tar-extra opt : Append more options to the tar command line" +- echo " --nomd5 : Don't calculate an MD5 for archive" +- echo " --nocrc : Don't calculate a CRC for archive" +- echo " --header file : Specify location of the header script" +- echo " --follow : Follow the symlinks in the archive" +- echo " --noprogress : Do not show the progress during the decompression" +- echo " --nox11 : Disable automatic spawn of a xterm" +- echo " --nowait : Do not wait for user input after executing embedded" +- echo " program from an xterm" +- echo " --lsm file : LSM file describing the package" +- echo " --license file : Append a license file" ++ echo " --version | -v : Print out Makeself version number and exit" ++ echo " --help | -h : Print out this help message" ++ echo " --quiet | -q : Do not print any messages other than errors." ++ echo " --gzip : Compress using gzip (default if detected)" ++ echo " --bzip2 : Compress using bzip2 instead of gzip" ++ echo " --pbzip2 : Compress using pbzip2 instead of gzip" ++ echo " --xz : Compress using xz instead of gzip" ++ echo " --compress : Compress using the UNIX 'compress' command" ++ echo " --complevel lvl : Compression level for gzip xz bzip2 and pbzip2 (default 9)" ++ echo " --base64 : Instead of compressing, encode the data using base64" ++ echo " --nocomp : Do not compress the data" ++ echo " --notemp : The archive will create archive_dir in the" ++ echo " current directory and uncompress in ./archive_dir" ++ echo " --copy : Upon extraction, the archive will first copy itself to" ++ echo " a temporary directory" ++ echo " --append : Append more files to an existing Makeself archive" ++ echo " The label and startup scripts will then be ignored" ++ echo " --target dir : Extract directly to a target directory" ++ echo " directory path can be either absolute or relative" ++ echo " --current : Files will be extracted to the current directory" ++ echo " Both --current and --target imply --notemp" ++ echo " --tar-extra opt : Append more options to the tar command line" ++ echo " --nomd5 : Don't calculate an MD5 for archive" ++ echo " --nocrc : Don't calculate a CRC for archive" ++ echo " --header file : Specify location of the header script" ++ echo " --follow : Follow the symlinks in the archive" ++ echo " --noprogress : Do not show the progress during the decompression" ++ echo " --nox11 : Disable automatic spawn of a xterm" ++ echo " --nowait : Do not wait for user input after executing embedded" ++ echo " program from an xterm" ++ echo " --lsm file : LSM file describing the package" ++ echo " --license file : Append a license file" ++ echo " --help-header file : Add a header to the archive's --help output" + echo + echo "Do not forget to give a fully qualified startup script name" + echo "(i.e. with a ./ prefix if inside the archive)." +@@ -254,6 +255,12 @@ do + LSM_CMD="cat \"$2\" >> \"\$archname\"" + if ! shift 2; then MS_Help; exit 1; fi + ;; ++ --help-header) ++ HELPHEADER=`sed -e "s/'/'\\\\\''/g" $2` ++ if ! shift 2; then MS_Help; exit 1; fi ++ [ -n "$HELPHEADER" ] && HELPHEADER="$HELPHEADER ++" ++ ;; + -q | --quiet) + QUIET=y + shift +-- +1.8.5.5 + diff --git a/app-arch/makeself/files/makeself-unpack b/app-arch/makeself/files/makeself-unpack new file mode 100644 index 000000000000..90b98312c8b9 --- /dev/null +++ b/app-arch/makeself/files/makeself-unpack @@ -0,0 +1,100 @@ +#!/bin/bash + +# Glue to keep unpack_makeself() unchanged +source /lib/gentoo/functions.sh +find_unpackable_file() { echo "$@"; } +debug-print() { :; } +emktemp() { mktemp "$@"; } +die() { eerror "$*"; exit 1; } +assert() { _pipestatus="${PIPESTATUS[*]}"; [[ "${_pipestatus// /}" -eq 0 ]] || die; } + +# Straight copied from unpacker.eclass ... should be kept in sync + +unpack_banner() { + echo ">>> Unpacking ${1##*/} to ${PWD}" +} + +unpack_makeself() { + local src_input=${1:-${A}} + local src=$(find_unpackable_file "${src_input}") + local skip=$2 + local exe=$3 + + [[ -z ${src} ]] && die "Could not locate source for '${src_input}'" + + unpack_banner "${src}" + + if [[ -z ${skip} ]] ; then + local ver=$(grep -m1 -a '#.*Makeself' "${src}" | awk '{print $NF}') + local skip=0 + exe=tail + case ${ver} in + 1.5.*|1.6.0-nv*) # tested 1.5.{3,4,5} ... guessing 1.5.x series is same + skip=$(grep -a ^skip= "${src}" | cut -d= -f2) + ;; + 2.0|2.0.1) + skip=$(grep -a ^$'\t'tail "${src}" | awk '{print $2}' | cut -b2-) + ;; + 2.1.1) + skip=$(grep -a ^offset= "${src}" | awk '{print $2}' | cut -b2-) + (( skip++ )) + ;; + 2.1.2) + skip=$(grep -a ^offset= "${src}" | awk '{print $3}' | head -n 1) + (( skip++ )) + ;; + 2.1.3) + skip=`grep -a ^offset= "${src}" | awk '{print $3}'` + (( skip++ )) + ;; + 2.1.4|2.1.5|2.1.6|2.2.0) + skip=$(grep -a offset=.*head.*wc "${src}" | awk '{print $3}' | head -n 1) + skip=$(head -n ${skip} "${src}" | wc -c) + exe="dd" + ;; + *) + eerror "I'm sorry, but I was unable to support the Makeself file." + eerror "The version I detected was '${ver}'." + eerror "Please file a bug about the file ${src##*/} at" + eerror "http://bugs.gentoo.org/ so that support can be added." + die "makeself version '${ver}' not supported" + ;; + esac + debug-print "Detected Makeself version ${ver} ... using ${skip} as offset" + fi + case ${exe} in + tail) exe="tail -n +${skip} '${src}'";; + dd) exe="dd ibs=${skip} skip=1 if='${src}'";; + *) die "makeself cant handle exe '${exe}'" + esac + + # lets grab the first few bytes of the file to figure out what kind of archive it is + local filetype tmpfile=$(emktemp) + eval ${exe} 2>/dev/null | head -c 512 > "${tmpfile}" + filetype=$(file -b "${tmpfile}") || die + case ${filetype} in + *tar\ archive*) + eval ${exe} | tar --no-same-owner -xf - + ;; + bzip2*) + eval ${exe} | bzip2 -dc | tar --no-same-owner -xf - + ;; + gzip*) + eval ${exe} | tar --no-same-owner -xzf - + ;; + compress*) + eval ${exe} | gunzip | tar --no-same-owner -xf - + ;; + XZ*) + eval ${exe} | unxz | tar --no-same-owner -xf - + ;; + *) + eerror "Unknown filetype \"${filetype}\" ?" + false + ;; + esac + assert "failure unpacking (${filetype}) makeself ${src##*/} ('${ver}' +${skip})" + rm "${tmpfile}" +} + +for x; do unpack_makeself "$x" ; done diff --git a/app-arch/makeself/makeself-2.2.0-r2.ebuild b/app-arch/makeself/makeself-2.2.0-r2.ebuild new file mode 100644 index 000000000000..798ab5b911ef --- /dev/null +++ b/app-arch/makeself/makeself-2.2.0-r2.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit unpacker eutils + +DESCRIPTION="shell script that generates a self-extractible tar.gz" +HOMEPAGE="http://www.megastep.org/makeself/" +SRC_URI="https://github.com/megastep/makeself/archive/release-${PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 hppa ppc x86 ~amd64-linux ~x86-linux" + +RDEPEND="sys-apps/gentoo-functions" + +S="${WORKDIR}/${PN}-release-${PV}" + +PATCHES=( "${FILESDIR}/${P}-help-header.patch" ) + +src_install() { + dobin makeself-header.sh makeself.sh "${FILESDIR}"/makeself-unpack + dosym makeself.sh /usr/bin/makeself + doman makeself.1 + dodoc README.md makeself.lsm +} diff --git a/app-arch/makeself/metadata.xml b/app-arch/makeself/metadata.xml new file mode 100644 index 000000000000..924a4644bdb9 --- /dev/null +++ b/app-arch/makeself/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <upstream> + <remote-id type="github">megastep/makeself</remote-id> + </upstream> +</pkgmetadata> |