fuanan add package
This commit is contained in:
parent
1383353ef3
commit
30aad0aa18
108
dl-tests.sh
Normal file
108
dl-tests.sh
Normal file
@ -0,0 +1,108 @@
|
||||
#!/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=tags/$tag
|
||||
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
|
||||
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
|
||||
popd
|
||||
BIN
find-up-2.1.0.tgz
Normal file
BIN
find-up-2.1.0.tgz
Normal file
Binary file not shown.
BIN
fixture-2.1.0.tar.bz2
Normal file
BIN
fixture-2.1.0.tar.bz2
Normal file
Binary file not shown.
53
nodejs-find-up.spec
Normal file
53
nodejs-find-up.spec
Normal file
@ -0,0 +1,53 @@
|
||||
%{?nodejs_find_provides_and_requires}
|
||||
%global packagename find-up
|
||||
%global enable_tests 0
|
||||
Name: nodejs-find-up
|
||||
Version: 2.1.0
|
||||
Release: 1
|
||||
Summary: Find a file by walking up parent directories
|
||||
License: MIT
|
||||
URL: https://github.com/sindresorhus/find-up
|
||||
Source0: https://registry.npmjs.org/find-up/-/find-up-%{version}.tgz
|
||||
Source1: fixture-%{version}.tar.bz2
|
||||
Source10: dl-tests.sh
|
||||
Source2: https://raw.githubusercontent.com/sindresorhus/find-up/v%{version}/test.js
|
||||
ExclusiveArch: %{nodejs_arches} noarch
|
||||
BuildArch: noarch
|
||||
BuildRequires: nodejs-packaging npm(locate-path)
|
||||
%if 0%{?enable_tests}
|
||||
BuildRequires: npm(ava)
|
||||
%endif
|
||||
Requires: nodejs
|
||||
%description
|
||||
Find a file by walking up parent directories
|
||||
|
||||
%prep
|
||||
%setup -q -n package
|
||||
%setup -q -T -D -a 1 -n package
|
||||
|
||||
%build
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{nodejs_sitelib}/%{packagename}
|
||||
cp -pr package.json *.js \
|
||||
%{buildroot}%{nodejs_sitelib}/%{packagename}
|
||||
%nodejs_symlink_deps
|
||||
|
||||
%check
|
||||
%nodejs_symlink_deps --check
|
||||
%{__nodejs} -e 'require("./")'
|
||||
%if 0%{?enable_tests}
|
||||
%{_bindir}/ava
|
||||
%else
|
||||
%{_bindir}/echo -e "\e[101m -=#=- Tests disabled -=#=- \e[0m"
|
||||
%endif
|
||||
|
||||
%files
|
||||
%{!?_licensedir:%global license %doc}
|
||||
%doc *.md
|
||||
%license license
|
||||
%{nodejs_sitelib}/%{packagename}
|
||||
|
||||
%changelog
|
||||
* Thu Aug 20 2020 Anan Fu <fuanan3@huawei.com> - 2.1.0-1
|
||||
- package init
|
||||
4
nodejs-find-up.yaml
Normal file
4
nodejs-find-up.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
version_control: github
|
||||
src_repo: sindresorhus/find-up
|
||||
tag_prefix: "^v"
|
||||
seperator: "."
|
||||
247
test.js
Normal file
247
test.js
Normal file
@ -0,0 +1,247 @@
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import test from 'ava';
|
||||
import tempfile from 'tempfile';
|
||||
import fn from './';
|
||||
|
||||
const name = {
|
||||
pkgDir: 'find-up',
|
||||
pkg: 'package.json',
|
||||
fixtureDir: 'fixture',
|
||||
baz: 'baz.js',
|
||||
qux: 'qux.js'
|
||||
};
|
||||
|
||||
// These paths are relative to the project root
|
||||
const rel = {
|
||||
fixtureDir: name.fixtureDir
|
||||
};
|
||||
rel.baz = path.join(rel.fixtureDir, name.baz);
|
||||
rel.qux = path.join(rel.fixtureDir, name.qux);
|
||||
rel.barDir = path.join(rel.fixtureDir, 'foo', 'bar');
|
||||
|
||||
const abs = {
|
||||
pkgDir: __dirname
|
||||
};
|
||||
abs.pkg = path.join(abs.pkgDir, name.pkg);
|
||||
abs.fixtureDir = path.join(abs.pkgDir, name.fixtureDir);
|
||||
abs.baz = path.join(abs.fixtureDir, name.baz);
|
||||
abs.qux = path.join(abs.fixtureDir, name.qux);
|
||||
abs.barDir = path.join(abs.fixtureDir, 'foo', 'bar');
|
||||
|
||||
// Create a disjoint directory, used for the not-found tests
|
||||
test.beforeEach(t => {
|
||||
const tmpDir = tempfile();
|
||||
fs.mkdirSync(tmpDir);
|
||||
t.context.disjoint = tmpDir;
|
||||
});
|
||||
|
||||
test.afterEach(t => {
|
||||
fs.rmdirSync(t.context.disjoint);
|
||||
});
|
||||
|
||||
test('async (child file)', async t => {
|
||||
const filePath = await fn(name.pkg);
|
||||
|
||||
t.is(filePath, abs.pkg);
|
||||
});
|
||||
|
||||
test('sync (child file)', t => {
|
||||
const filePath = fn.sync(name.pkg);
|
||||
|
||||
t.is(filePath, abs.pkg);
|
||||
});
|
||||
|
||||
test('async (child dir)', async t => {
|
||||
const filePath = await fn(name.fixtureDir);
|
||||
|
||||
t.is(filePath, abs.fixtureDir);
|
||||
});
|
||||
|
||||
test('sync (child dir)', t => {
|
||||
const filePath = fn.sync(name.fixtureDir);
|
||||
|
||||
t.is(filePath, abs.fixtureDir);
|
||||
});
|
||||
|
||||
test('async (child file, custom cwd)', async t => {
|
||||
const filePath = await fn(name.baz, {
|
||||
cwd: rel.fixtureDir
|
||||
});
|
||||
|
||||
t.is(filePath, abs.baz);
|
||||
});
|
||||
|
||||
test('sync (child file, custom cwd)', t => {
|
||||
const filePath = fn.sync(name.baz, {
|
||||
cwd: rel.fixtureDir
|
||||
});
|
||||
|
||||
t.is(filePath, abs.baz);
|
||||
});
|
||||
|
||||
test('async (child file, array, custom cwd)', async t => {
|
||||
const filePath = await fn([name.baz], {
|
||||
cwd: rel.fixtureDir
|
||||
});
|
||||
|
||||
t.is(filePath, abs.baz);
|
||||
});
|
||||
|
||||
test('sync (child file, array, custom cwd)', t => {
|
||||
const filePath = fn.sync([name.baz], {
|
||||
cwd: rel.fixtureDir
|
||||
});
|
||||
|
||||
t.is(filePath, abs.baz);
|
||||
});
|
||||
|
||||
test('async (first child file, array, custom cwd)', async t => {
|
||||
const filePath = await fn([name.qux, name.baz], {
|
||||
cwd: rel.fixtureDir
|
||||
});
|
||||
|
||||
t.is(filePath, abs.qux);
|
||||
});
|
||||
|
||||
test('sync (first child file, array, custom cwd)', t => {
|
||||
const filePath = fn.sync([name.qux, name.baz], {
|
||||
cwd: rel.fixtureDir
|
||||
});
|
||||
|
||||
t.is(filePath, abs.qux);
|
||||
});
|
||||
|
||||
test('async (second child file, array, custom cwd)', async t => {
|
||||
const filePath = await fn(['fake', name.baz], {
|
||||
cwd: rel.fixtureDir
|
||||
});
|
||||
|
||||
t.is(filePath, abs.baz);
|
||||
});
|
||||
|
||||
test('sync (second child file, array, custom cwd)', t => {
|
||||
const filePath = fn.sync(['fake', name.baz], {
|
||||
cwd: rel.fixtureDir
|
||||
});
|
||||
|
||||
t.is(filePath, abs.baz);
|
||||
});
|
||||
|
||||
test('async (cwd)', async t => {
|
||||
const filePath = await fn(name.pkgDir, {
|
||||
cwd: abs.pkgDir
|
||||
});
|
||||
|
||||
t.is(filePath, abs.pkgDir);
|
||||
});
|
||||
|
||||
test('sync (cwd)', t => {
|
||||
const filePath = fn.sync(name.pkgDir, {
|
||||
cwd: abs.pkgDir
|
||||
});
|
||||
|
||||
t.is(filePath, abs.pkgDir);
|
||||
});
|
||||
|
||||
test('async (cousin file, custom cwd)', async t => {
|
||||
const filePath = await fn(name.baz, {
|
||||
cwd: rel.barDir
|
||||
});
|
||||
|
||||
t.is(filePath, abs.baz);
|
||||
});
|
||||
|
||||
test('sync (cousin file, custom cwd)', t => {
|
||||
const filePath = fn.sync(name.baz, {
|
||||
cwd: rel.barDir
|
||||
});
|
||||
|
||||
t.is(filePath, abs.baz);
|
||||
});
|
||||
|
||||
test('async (nested descendant file)', async t => {
|
||||
const filePath = await fn(rel.baz);
|
||||
|
||||
t.is(filePath, abs.baz);
|
||||
});
|
||||
|
||||
test('sync (nested descendant file)', t => {
|
||||
const filePath = fn.sync(rel.baz);
|
||||
|
||||
t.is(filePath, abs.baz);
|
||||
});
|
||||
|
||||
test('async (nested descendant dir)', async t => {
|
||||
const filePath = await fn(rel.barDir);
|
||||
|
||||
t.is(filePath, abs.barDir);
|
||||
});
|
||||
|
||||
test('sync (nested descendant dir)', t => {
|
||||
const filePath = fn.sync(rel.barDir);
|
||||
|
||||
t.is(filePath, abs.barDir);
|
||||
});
|
||||
|
||||
test('async (nested cousin dir, custom cwd)', async t => {
|
||||
const filePath = await fn(rel.barDir, {
|
||||
cwd: rel.fixtureDir
|
||||
});
|
||||
|
||||
t.is(filePath, abs.barDir);
|
||||
});
|
||||
|
||||
test('sync (nested cousin dir, custom cwd)', t => {
|
||||
const filePath = fn.sync(rel.barDir, {
|
||||
cwd: rel.fixtureDir
|
||||
});
|
||||
|
||||
t.is(filePath, abs.barDir);
|
||||
});
|
||||
|
||||
test('async (ancestor dir, custom cwd)', async t => {
|
||||
const filePath = await fn(name.fixtureDir, {
|
||||
cwd: rel.barDir
|
||||
});
|
||||
|
||||
t.is(filePath, abs.fixtureDir);
|
||||
});
|
||||
|
||||
test('sync (ancestor dir, custom cwd)', t => {
|
||||
const filePath = fn.sync(name.fixtureDir, {
|
||||
cwd: rel.barDir
|
||||
});
|
||||
|
||||
t.is(filePath, abs.fixtureDir);
|
||||
});
|
||||
|
||||
test('async (not found)', async t => {
|
||||
const filePath = await fn('somenonexistentfile.js');
|
||||
|
||||
t.is(filePath, null);
|
||||
});
|
||||
|
||||
test('sync (not found)', t => {
|
||||
const filePath = fn.sync('somenonexistentfile.js');
|
||||
|
||||
t.is(filePath, null);
|
||||
});
|
||||
|
||||
// Both tests start in a disjoint directory. `package.json` should not be found
|
||||
// and `null` should be returned.
|
||||
test('async (not found, custom cwd)', async t => {
|
||||
const filePath = await fn(name.pkg, {
|
||||
cwd: t.context.disjoint
|
||||
});
|
||||
|
||||
t.is(filePath, null);
|
||||
});
|
||||
|
||||
test('sync (not found, custom cwd)', t => {
|
||||
const filePath = fn.sync(name.pkg, {
|
||||
cwd: t.context.disjoint
|
||||
});
|
||||
|
||||
t.is(filePath, null);
|
||||
});
|
||||
Loading…
x
Reference in New Issue
Block a user