From 023f7e174b0a6628f76d9d30c4a553a5345c056b Mon Sep 17 00:00:00 2001 From: root Date: Fri, 28 Aug 2020 15:44:26 +0800 Subject: [PATCH] package init --- brace-expansion-1.1.11.tgz | Bin 0 -> 4239 bytes dl-tests.sh | 131 ++++++++++++++++++++++++++++++++++++ nodejs-brace-expansion.spec | 53 +++++++++++++++ nodejs-brace-expansion.yaml | 4 ++ tests-1.1.11.tar.bz2 | Bin 0 -> 5192 bytes 5 files changed, 188 insertions(+) create mode 100644 brace-expansion-1.1.11.tgz create mode 100644 dl-tests.sh create mode 100644 nodejs-brace-expansion.spec create mode 100644 nodejs-brace-expansion.yaml create mode 100644 tests-1.1.11.tar.bz2 diff --git a/brace-expansion-1.1.11.tgz b/brace-expansion-1.1.11.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9003da9d5f9a0145290fd45f3648a20cc0c5b7fb GIT binary patch literal 4239 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 literal 0 HcmV?d00001 diff --git a/dl-tests.sh b/dl-tests.sh new file mode 100644 index 0000000..36f13ab --- /dev/null +++ b/dl-tests.sh @@ -0,0 +1,131 @@ +#!/bin/bash + +tag=$(sed -n 's/^Version:\s\(.*\)$/\1/p' ./*.spec | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//') +url=$(sed -n 's/^URL:\s\(.*\)$/\1/p' ./*.spec | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//') +pkgdir=$(basename $url | sed -s 's/\.git$//') + +echo "tag: $tag" +echo "URL: $url" +echo "pkgdir: $pkgdir" + +set -e + +tmp=$(mktemp -d) + +trap cleanup EXIT +cleanup() { + echo Cleaning up... + set +e + [ -z "$tmp" -o ! -d "$tmp" ] || rm -rf "$tmp" +} + +unset CDPATH +pwd=$(pwd) + +pushd "$tmp" +git clone $url +cd $pkgdir +echo Finding git tag +gittag=$(git show-ref --tags | cut -d' ' -f2 | grep "${tag}$" || git show-ref --tags | cut -d' ' -f2 | sort -Vr | head -n1) +if [ -z $gittag ]; then + gittag=refs/master +fi +echo "Git Tag: $gittag" +if [ -d "test" ]; then + git archive --prefix='test/' --format=tar ${gittag}:test/ \ + | bzip2 > "$pwd"/tests-${tag}.tar.bz2 +elif [ -d "tests" ]; then + git archive --prefix='tests/' --format=tar ${gittag}:tests/ \ + | bzip2 > "$pwd"/tests-${tag}.tar.bz2 +elif [ -d "spec" ]; then + git archive --prefix='spec/' --format=tar ${gittag}:spec/ \ + | bzip2 > "$pwd"/tests-${tag}.tar.bz2 +else + echo "No test directory found for tag ${gittag}" +fi +if [ -d "support" ]; then + git archive --prefix='support/' --format=tar ${gittag}:support/ \ + | bzip2 > "$pwd"/support-${tag}.tar.bz2 +fi +if [ -d "fixture" ]; then + git archive --prefix='fixture/' --format=tar ${gittag}:fixture/ \ + | bzip2 > "$pwd"/fixture-${tag}.tar.bz2 +fi +if [ -d "examples" ]; then + git archive --prefix='examples/' --format=tar ${gittag}:examples/ \ + | bzip2 > "$pwd"/examples-${tag}.tar.bz2 +elif [ -d "example" ]; then + git archive --prefix='example/' --format=tar ${gittag}:example/ \ + | bzip2 > "$pwd"/examples-${tag}.tar.bz2 +fi +if [ -d "tasks" ]; then + git archive --prefix='tasks/' --format=tar ${gittag}:tasks/ \ + | bzip2 > "$pwd"/tasks-${tag}.tar.bz2 +fi +if [ -d "docs" ]; then + git archive --prefix='docs/' --format=tar ${gittag}:docs/ \ + | bzip2 > "$pwd"/docs-${tag}.tar.bz2 +elif [ -d "doc" ]; then + git archive --prefix='doc/' --format=tar ${gittag}:doc/ \ + | bzip2 > "$pwd"/docs-${tag}.tar.bz2 +fi +if [ -d "src" ]; then + git archive --prefix='src/' --format=tar ${gittag}:src/ \ + | bzip2 > "$pwd"/src-${tag}.tar.bz2 +elif [ -d "source" ]; then + git archive --prefix='source/' --format=tar ${gittag}:source/ \ + | bzip2 > "$pwd"/source-${tag}.tar.bz2 +fi +if [ -d "tools" ]; then + git archive --prefix='tools/' --format=tar ${gittag}:tools/ \ + | bzip2 > "$pwd"/tools-${tag}.tar.bz2 +fi +if [ -d "scripts" ]; then + git archive --prefix='scripts/' --format=tar ${gittag}:scripts/ \ + | bzip2 > "$pwd"/scripts-${tag}.tar.bz2 +fi +if [ -d "modules" ]; then + git archive --prefix='modules/' --format=tar ${gittag}:modules/ \ + | bzip2 > "$pwd"/modules-${tag}.tar.bz2 +fi +if [ -d "ts" ]; then + git archive --prefix='ts/' --format=tar ${gittag}:ts/ \ + | bzip2 > "$pwd"/ts-${tag}.tar.bz2 +fi +if [ -d "build" ]; then + git archive --prefix='build/' --format=tar ${gittag}:build/ \ + | bzip2 > "$pwd"/build-${tag}.tar.bz2 +fi +if [ -d "fixtures" ]; then + git archive --prefix='fixtures/' --format=tar ${gittag}:fixtures/ \ + | bzip2 > "$pwd"/fixtures-${tag}.tar.bz2 +fi +if [ -d "mocks" ]; then + git archive --prefix='mocks/' --format=tar ${gittag}:mocks/ \ + | bzip2 > "$pwd"/mocks-${tag}.tar.bz2 +fi +if [ -d "typings" ]; then + git archive --prefix='typings/' --format=tar ${gittag}:typings/ \ + | bzip2 > "$pwd"/typings-${tag}.tar.bz2 +fi +if [ -d "templates" ]; then + git archive --prefix='templates/' --format=tar ${gittag}:templates/ \ + | bzip2 > "$pwd"/templates-${tag}.tar.bz2 +fi +if [ -d "benchmark" ]; then + git archive --prefix='benchmark/' --format=tar ${gittag}:benchmark/ \ + | bzip2 > "$pwd"/benchmark-${tag}.tar.bz2 +fi +if [ -d "vendor" ]; then + git archive --prefix='vendor/' --format=tar ${gittag}:vendor/ \ + | bzip2 > "$pwd"/vendor-${tag}.tar.bz2 +fi +if [ -d "packages" ]; then + git archive --prefix='packages/' --format=tar ${gittag}:packages/ \ + | bzip2 > "$pwd"/packages-${tag}.tar.bz2 +fi +if [ -d "rollup" ]; then + git archive --prefix='rollup/' --format=tar ${gittag}:rollup/ \ + | bzip2 > "$pwd"/rollup-${tag}.tar.bz2 +fi +popd diff --git a/nodejs-brace-expansion.spec b/nodejs-brace-expansion.spec new file mode 100644 index 0000000..0624c06 --- /dev/null +++ b/nodejs-brace-expansion.spec @@ -0,0 +1,53 @@ +%{?nodejs_find_provides_and_requires} +%global packagename brace-expansion +%global enable_tests 1 +Name: nodejs-brace-expansion +Version: 1.1.11 +Release: 1 +Summary: Brace expansion as known from sh/bash +License: MIT +URL: https://github.com/juliangruber/brace-expansion.git +Source0: https://registry.npmjs.org/brace-expansion/-/brace-expansion-%{version}.tgz +# The test files are not included in the npm tarball. +# Source1 is generated by running Source10, which pulls from the upstream +# version control repository. +Source1: tests-%{version}.tar.bz2 +Source10: dl-tests.sh +ExclusiveArch: %{nodejs_arches} noarch +BuildArch: noarch +BuildRequires: nodejs-packaging grep +%if 0%{?enable_tests} +BuildRequires: npm(balanced-match) npm(concat-map) npm(tape) +%endif +%description +Brace expansion as known from sh/bash + +%prep +%setup -q -n package +%setup -q -T -D -a 1 -n package +%{_bindir}/grep -A100 '^## License$' README.md > LICENSE.md + +%build + +%install +mkdir -p %{buildroot}%{nodejs_sitelib}/%{packagename} +cp -pr package.json index.js \ + %{buildroot}%{nodejs_sitelib}/%{packagename} +%nodejs_symlink_deps +%if 0%{?enable_tests} + +%check +%nodejs_symlink_deps --check +%{__nodejs} -e 'require("./")' +%{_bindir}/tape test/*.js +%endif + +%files +%{!?_licensedir:%global license %doc} +%doc *.md +%license LICENSE.md +%{nodejs_sitelib}/%{packagename} + +%changelog +* Mon Aug 17 2020 Shaoqiang Kang - 1.1.11-1 +- Package init diff --git a/nodejs-brace-expansion.yaml b/nodejs-brace-expansion.yaml new file mode 100644 index 0000000..858a5fd --- /dev/null +++ b/nodejs-brace-expansion.yaml @@ -0,0 +1,4 @@ +version_control: github +src_repo: juliangruber/brace-expansion +tag_prefix: "v" +seperator: "." diff --git a/tests-1.1.11.tar.bz2 b/tests-1.1.11.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..5797b08536c006b1fd5b0fbd9eea4d1f131e7ecf GIT binary patch literal 5192 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