From 46c2b9f5963abb0880eb52db966d2fef99f7aa6b Mon Sep 17 00:00:00 2001 From: lyn1001 Date: Fri, 21 Aug 2020 09:40:12 +0800 Subject: [PATCH] package init --- hashdiff-0.3.2.gem | Bin 0 -> 15872 bytes rubygem-hashdiff.spec | 59 ++++++++++++++++++++++++++++++++++++++++++ rubygem-hashdiff.yaml | 5 ++++ 3 files changed, 64 insertions(+) create mode 100644 hashdiff-0.3.2.gem create mode 100644 rubygem-hashdiff.spec create mode 100644 rubygem-hashdiff.yaml diff --git a/hashdiff-0.3.2.gem b/hashdiff-0.3.2.gem new file mode 100644 index 0000000000000000000000000000000000000000..c9da783586825560679800f632a55edb84eed949 GIT binary patch literal 15872 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 a%TtB_A&38_CH5b;|3TnC2>cI4;Qs= 1.8.7 rubygem(rspec) +BuildArch: noarch +%description +HashDiff is a diff lib to compute the smallest difference between two hashes. + +%package doc +Summary: Documentation for %{name} +Requires: %{name} = %{version}-%{release} +BuildArch: noarch +%description doc +Documentation for %{name}. + +%prep +gem unpack %{SOURCE0} +%setup -q -D -T -n %{gem_name}-%{version} +gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec + +%build +gem build %{gem_name}.gemspec +%gem_install + +%install +mkdir -p %{buildroot}%{gem_dir} +cp -a .%{gem_dir}/* \ + %{buildroot}%{gem_dir}/ + +%check +pushd .%{gem_instdir} +rspec spec +popd + +%files +%dir %{gem_instdir} +%exclude %{gem_instdir}/.* +%license %{gem_instdir}/LICENSE +%exclude %{gem_instdir}/hashdiff.gemspec +%{gem_libdir} +%exclude %{gem_cache} +%{gem_spec} + +%files doc +%doc %{gem_docdir} +%{gem_instdir}/Gemfile +%doc %{gem_instdir}/README.md +%{gem_instdir}/Rakefile +%doc %{gem_instdir}/changelog.md +%{gem_instdir}/spec + +%changelog +* Mon Aug 10 2020 yanan li - 0.3.2-1 +- Package init diff --git a/rubygem-hashdiff.yaml b/rubygem-hashdiff.yaml new file mode 100644 index 0000000..ac26b30 --- /dev/null +++ b/rubygem-hashdiff.yaml @@ -0,0 +1,5 @@ +git_url: https://github.com/liufengyun/hashdiff.git +version_control: github +src_repo: liufengyun/hashdiff +tag_prefix: "^v" +seperator: "."