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