Package init

This commit is contained in:
lei_ju 2020-08-31 10:36:35 +08:00
parent a87c0612ae
commit 9ae5af8918
6 changed files with 169 additions and 0 deletions

84
dl-tests.sh Normal file
View File

@ -0,0 +1,84 @@
#!/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
popd

BIN
fast-levenshtein-1.1.3.tgz Normal file

Binary file not shown.

View File

@ -0,0 +1,22 @@
diff --git a/test/tests.js b/test/tests.js
index 54b9222..49628c5 100644
--- a/test/tests.js
+++ b/test/tests.js
@@ -108,7 +108,7 @@ var text1 = fs.readFileSync(__dirname + '/text1.txt', 'utf-8'),
exports['Async'] = {
'no progress callback': function(done) {
- this.timeout(20000);
+ this.timeout(40000);
var startTime = new Date().valueOf();
@@ -124,7 +124,7 @@ exports['Async'] = {
});
},
'with progress callback': function(done) {
- this.timeout(20000);
+ this.timeout(40000);
var percents = [];
var progress = function(percent) {

View File

@ -0,0 +1,59 @@
%{?nodejs_find_provides_and_requires}
%global packagename fast-levenshtein
%global enable_tests 1
Name: nodejs-fast-levenshtein
Version: 1.1.3
Release: 1
Summary: Efficient implementation of Levenshtein algorithm
License: MIT
URL: https://github.com/hiddentao/fast-levenshtein.git
Source0: https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-%{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
Patch0: fast-levenshtein_adjust-timeouts.patch
BuildArch: noarch
ExclusiveArch: %{nodejs_arches} noarch
BuildRequires: nodejs-packaging uglify-js
%if 0%{?enable_tests}
BuildRequires: mocha npm(chai) npm(lodash)
%endif
%description
Efficient implementation of Levenshtein algorithm with asynchronous callback
support.
%prep
%setup -q -n package
%setup -q -T -D -a 1 -n package
%patch0 -p1
%build
%{_bindir}/uglifyjs levenshtein.js -o levenshtein.min.js
%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}/mocha -R spec
%else
%{_bindir}/echo -e "\e[101m -=#=- Tests disabled -=#=- \e[0m"
%endif
%files
%{!?_licensedir:%global license %doc}
%doc README.md
%license LICENSE.md
%{nodejs_sitelib}/%{packagename}
%changelog
* Fri Aug 21 2020 leiju <leiju4@huawei.com> - 1.1.3-1
- Package init

View File

@ -0,0 +1,4 @@
version_control: github
src_repo: hiddentao/fast-levenshtein
tag_prefix: "^"
seperator: "."

BIN
tests-1.1.3.tar.bz2 Normal file

Binary file not shown.