diff --git a/.gitignore b/.gitignore index e69de29..6fe60ea 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,3 @@ +/bunyan-1.8.9.tgz +/examples-1.8.9.tar.bz2 +/tests-1.8.9.tar.bz2 diff --git a/dl-tests.sh b/dl-tests.sh new file mode 100644 index 0000000..2719465 --- /dev/null +++ b/dl-tests.sh @@ -0,0 +1,115 @@ +#!/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 +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 +popd diff --git a/nodejs-bunyan.spec b/nodejs-bunyan.spec new file mode 100644 index 0000000..8fadcd4 --- /dev/null +++ b/nodejs-bunyan.spec @@ -0,0 +1,106 @@ +%{?nodejs_find_provides_and_requires} + +%global packagename bunyan +# tests disabled until npm(jschardet) is reviewed, see bz#1411053 +%global enable_tests 0 + +Name: nodejs-bunyan +Version: 1.8.9 +Release: 1%{?dist} +Summary: A JSON logging library for node.js services + +License: MIT +URL: https://github.com/trentm/node-bunyan.git +Source0: https://registry.npmjs.org/%{packagename}/-/%{packagename}-%{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 +Source2: examples-%{version}.tar.bz2 +Source10: dl-tests.sh + + +BuildArch: noarch +%if 0%{?fedora} >= 19 +ExclusiveArch: %{nodejs_arches} noarch +%else +ExclusiveArch: %{ix86} x86_64 %{arm} noarch +%endif + +BuildRequires: nodejs-packaging +%if 0%{?enable_tests} +BuildRequires: npm(nodeunit) +BuildRequires: npm(moment) +BuildRequires: npm(mv) +BuildRequires: npm(safe-json-stringify) +BuildRequires: npm(vasync) +BuildRequires: npm(verror) +%endif + +Requires: nodejs + +%description +A JSON logging library for node.js services + + +%prep +%setup -q -n package +# setup the tests +%setup -q -T -D -a 1 -n package +# setup the examples +%setup -q -T -D -a 2 -n package + +%nodejs_fixdep moment +%nodejs_fixdep mv +%nodejs_fixdep safe-json-stringify + +# fix interpreter on example program +sed -i '1s/env //' examples/specific-level-streams.js +sed -i '1s/env //' examples/log-undefined-values.js +sed -i '1s/env //' bin/bunyan + +%build +# nothing to do! + +%install +mkdir -p %{buildroot}%{nodejs_sitelib}/%{packagename} +cp -pr package.json lib/ \ + %{buildroot}%{nodejs_sitelib}/%{packagename} + +mkdir -p %{buildroot}%{_bindir} +ln -sf %{nodejs_sitelib}/%{packagename}/bin/bunyan \ + %{buildroot}%{_bindir}/bunyan + + +%nodejs_symlink_deps + +%check +%nodejs_symlink_deps --check +%{__nodejs} -e 'require("./")' +%if 0%{?enable_tests} +# Only run tests that don't require root privileges +ls -altr test/ +files=$(ls -1 test/*.test.js | grep -v dtrace) +echo $files +%{_bindir}/nodeunit $(ls -1 test/*test.js | grep -v dtrace | xargs) +%else +%{_bindir}/echo -e "\e[101m -=#=- Tests disabled -=#=- \e[0m" +%endif + + + +%files +%{!?_licensedir:%global license %doc} +%doc *.md examples/ +%license LICENSE.txt +%{nodejs_sitelib}/%{packagename} +%{_bindir}/bunyan + + + +%changelog +* Fri Mar 24 2017 Jared Smith - 1.8.9-1 +- Update to upstream 1.8.9 version + +* Fri Nov 6 2015 Jared Smith - 1.5.1-1 +- Initial packaging diff --git a/sources b/sources index e69de29..b831ab5 100644 --- a/sources +++ b/sources @@ -0,0 +1,3 @@ +SHA512 (bunyan-1.8.9.tgz) = ac5b7cc6091c79cf6b334ac75425797b3459f6331a2e22126f622f2e251443b096d2813c5441ff446b1f2c4f1e086c78c54dc1d4a5747bf3d4991319ae105946 +SHA512 (examples-1.8.9.tar.bz2) = 529980be34cc2e4ca42550a28ef4574f1ef7eb3ee49996e8b2ad83eaaf5767d674d7d4affb2d7eb88b483aad1177911cbd50222bb524036e0525895edadd9a20 +SHA512 (tests-1.8.9.tar.bz2) = 36ff528cc816434d2dfc50c3c38028265a32ee61396421545d041f95e4bfaf517f3469d35b7ebef378ad11c0adcd8409929842756b3f7a145de536316bf1e46e