diff --git a/.gitignore b/.gitignore index e91091d..03226a8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,3 @@ highline-1.5.1.tgz /highline-1.5.2.tgz /highline-1.6.11.gem -/highline-1.6.21.gem -/highline-1.7.8.gem -/tests-2.0.3.tar.bz2 -/highline-3.0.1.gem -/tests-3.0.1.tar.bz2 diff --git a/dl-tests.sh b/dl-tests.sh deleted file mode 100644 index 3ab66bb..0000000 --- a/dl-tests.sh +++ /dev/null @@ -1,127 +0,0 @@ -#!/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 -if [ -d "benchmark" ]; then - git archive --prefix='benchmark/' --format=tar ${gittag}:benchmark/ \ - | bzip2 > "$pwd"/benchmark-${tag}.tar.bz2 -fi -if [ -d "vendor" ]; then - git archive --prefix='vendor/' --format=tar ${gittag}:vendor/ \ - | bzip2 > "$pwd"/vendor-${tag}.tar.bz2 -fi -if [ -d "packages" ]; then - git archive --prefix='packages/' --format=tar ${gittag}:packages/ \ - | bzip2 > "$pwd"/packages-${tag}.tar.bz2 -fi -popd diff --git a/rubygem-highline.spec b/rubygem-highline.spec index 3ee4c95..b9c6eef 100644 --- a/rubygem-highline.spec +++ b/rubygem-highline.spec @@ -1,24 +1,25 @@ # Generated from highline-1.6.11.gem by gem2rpm -*- rpm-spec -*- %global gem_name highline +%global rubyabi 1.9.1 Summary: HighLine is a high-level command-line IO library Name: rubygem-%{gem_name} -Version: 3.0.1 -Release: 4%{?dist} -License: GPL-2.0-only or Ruby -URL: https://github.com/JEG2/highline +Version: 1.6.11 +Release: 2%{?dist} +Group: Development/Languages +License: GPLv2+ or Ruby +URL: http://highline.rubyforge.org Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem -# 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 -BuildRequires: ruby(release) +Source1: rubygem-%{gem_name}.spec.template +Requires: ruby(abi) = %{rubyabi} +Requires: ruby(rubygems) +Requires: ruby +BuildRequires: ruby(abi) = %{rubyabi} BuildRequires: rubygems-devel BuildRequires: ruby BuildRequires: rubygem(minitest) -BuildRequires: rubygem(simplecov) BuildArch: noarch +Provides: rubygem(%{gem_name}) = %{version} %description A high-level IO library that provides validation, type conversion, and more @@ -28,6 +29,7 @@ with just minutes of work. %package doc Summary: Documentation for %{name} +Group: Documentation Requires: %{name} = %{version}-%{release} BuildArch: noarch @@ -35,11 +37,12 @@ BuildArch: noarch Documentation for %{name} %prep -%setup -q -n %{gem_name}-%{version} +%setup -q -c -T +mkdir -p .%{gem_dir} +gem install --local --install-dir .%{gem_dir} \ + --force %{SOURCE0} %build -gem build ../%{gem_name}-%{version}.gemspec -%gem_install %install mkdir -p %{buildroot}%{gem_dir} @@ -47,141 +50,40 @@ cp -a .%{gem_dir}/* \ %{buildroot}%{gem_dir}/ # Fix the shebang. -find %{buildroot}%{gem_instdir}/{examples,lib}/ -type f -name '*.rb' -exec \ +find %{buildroot}%{gem_instdir}/{examples,lib,test}/ -type f -name '*.rb' -exec \ sed -i -e 's|/usr/local/bin/ruby|/usr/bin/ruby|' '{}' \; - -# Remove build leftovers. +# Remove cvs files. find %{buildroot}%{gem_instdir}/ -type f -iname '.*' -exec rm -f '{}' \; -rm -f %{buildroot}%{gem_instdir}/Gemfile -rm -rf %{buildroot}%{gem_instdir}/.github %check -pushd .%{gem_instdir} -# setup the tests -tar xfj %{SOURCE1} -ruby -Ilib:test test/test_*.rb +pushd %{buildroot}%{gem_instdir} +ruby -S testrb -Ilib test/* popd %files -%license %{gem_instdir}/LICENSE -%license %{gem_instdir}/COPYING %dir %{gem_instdir} %{gem_libdir} %exclude %{gem_cache} %{gem_spec} +%{gem_instdir}/COPYING %files doc %doc %{gem_docdir} -%doc %{gem_instdir}/README.md +%doc %{gem_instdir}/README %doc %{gem_instdir}/TODO -%doc %{gem_instdir}/Changelog.md +%doc %{gem_instdir}/CHANGELOG +%doc %{gem_instdir}/LICENSE %{gem_instdir}/AUTHORS %{gem_instdir}/Rakefile %{gem_instdir}/examples %{gem_instdir}/%{gem_name}.gemspec +%{gem_instdir}/setup.rb %{gem_instdir}/site +%{gem_instdir}/test +%exclude %{gem_instdir}/INSTALL %changelog -* Fri Jul 25 2025 Fedora Release Engineering - 3.0.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Sat Jan 18 2025 Fedora Release Engineering - 3.0.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Fri Jul 19 2024 Fedora Release Engineering - 3.0.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Thu May 02 2024 Troy Dawson - 3.0.1-1 -- Update to 3.0.1 -- move to SPDX license format - -* Fri Jan 26 2024 Fedora Release Engineering - 2.0.3-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Jan 22 2024 Fedora Release Engineering - 2.0.3-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jul 21 2023 Fedora Release Engineering - 2.0.3-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Fri Jan 20 2023 Fedora Release Engineering - 2.0.3-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Jul 23 2022 Fedora Release Engineering - 2.0.3-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri Jan 21 2022 Fedora Release Engineering - 2.0.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jul 23 2021 Fedora Release Engineering - 2.0.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Feb 02 2021 Troy Dawson - 2.0.3-1 -- Fix FTBFS (#1923635) -- Update to 2.0.3 -- Supply tests from git source -- Update BuildRequires - -* Wed Jan 27 2021 Fedora Release Engineering - 1.7.8-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Jul 29 2020 Fedora Release Engineering - 1.7.8-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu Jan 30 2020 Fedora Release Engineering - 1.7.8-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Jul 26 2019 Fedora Release Engineering - 1.7.8-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Feb 15 2019 Troy Dawson - 1.7.8-1 -- Fix FTBFS (#1675925) -- Update to 1.7.8 (the latest version with tests in the gem) - -* Sat Feb 02 2019 Fedora Release Engineering - 1.6.21-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sun Nov 18 2018 Zbigniew Jędrzejewski-Szmek - 1.6.21-8 -- Use C.UTF-8 locale - See https://fedoraproject.org/wiki/Changes/Remove_glibc-langpacks-all_from_buildroot - -* Sat Jul 14 2018 Fedora Release Engineering - 1.6.21-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Fri Feb 09 2018 Fedora Release Engineering - 1.6.21-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 1.6.21-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Feb 11 2017 Fedora Release Engineering - 1.6.21-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Thu Feb 04 2016 Fedora Release Engineering - 1.6.21-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Thu Jun 18 2015 Fedora Release Engineering - 1.6.21-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Wed Jul 09 2014 Vít Ondruch - 1.6.21-1 -- Update to HighLine 1.6.21. - -* Sun Jun 08 2014 Fedora Release Engineering - 1.6.11-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Sun Aug 04 2013 Fedora Release Engineering - 1.6.11-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Mon Mar 11 2013 Vít Ondruch - 1.6.11-5 -- Rebuild for https://fedoraproject.org/wiki/Features/Ruby_2.0.0 - -* Thu Feb 14 2013 Fedora Release Engineering - 1.6.11-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Sat Jul 21 2012 Fedora Release Engineering - 1.6.11-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - * Tue Feb 28 2012 Jamie Nguyen - 1.6.11-2 - add spec template - remove INSTALL file diff --git a/rubygem-highline.spec.template b/rubygem-highline.spec.template new file mode 100644 index 0000000..80538fa --- /dev/null +++ b/rubygem-highline.spec.template @@ -0,0 +1,193 @@ +# Generated from <%= File::basename(format.gem_path) %> by gem2rpm -*- rpm-spec -*- +%global gem_name <%= spec.name %> +%global rubyabi 1.9.1 + +Summary: <%= spec.summary.gsub(/\.$/, "") %> +Name: rubygem-%{gem_name} +Version: <%= spec.version %> +Release: 2%{?dist} +Group: Development/Languages +License: <%= spec.licenses.empty? ? "GPLv2+ or Ruby" : spec.licenses.join(" and ") %> +<% if spec.homepage -%> +URL: <%= spec.homepage %> +<% end -%> +Source0: <%= download_path %>%{gem_name}-%{version}.gem +Source1: rubygem-%{gem_name}.spec.template +Requires: ruby(abi) = %{rubyabi} +<% for req in spec.required_rubygems_version -%> +Requires: ruby(rubygems) <%= req %> +<% end -%> +<%# TODO: Unfortunatelly this do not match with ruby(abi) yet -%> +<% for req in spec.required_ruby_version -%> +Requires: ruby <%= req %> +<% end -%> +<% for d in spec.runtime_dependencies -%> +<% for req in d.requirement -%> +Requires: rubygem(<%= d.name %>) <%= req %> +<% end -%> +<% end -%> +BuildRequires: ruby(abi) = %{rubyabi} +<% for req in spec.required_rubygems_version -%> +BuildRequires: rubygems-devel <%= req %> +<% end -%> +<%# TODO: Unfortunatelly this do not match with ruby(abi) yet -%> +<% for req in spec.required_ruby_version -%> +BuildRequires: ruby <%= req %> +<% end -%> +BuildRequires: rubygem(minitest) +<% if spec.extensions.empty? -%> +BuildArch: noarch +<% end -%> +Provides: rubygem(%{gem_name}) = %{version} + +%description +A high-level IO library that provides validation, type conversion, and more +for command-line interfaces. HighLine also includes a complete menu system +that can crank out anything from simple list selection to complete shells +with just minutes of work. + +<% if doc_subpackage -%> +%package doc +Summary: Documentation for %{name} +Group: Documentation +Requires: %{name} = %{version}-%{release} +BuildArch: noarch + +%description doc +Documentation for %{name} +<% end # if doc_subpackage -%> + +%prep +%setup -q -c -T +mkdir -p .%{gem_dir} +<% unless spec.extensions.empty? -%> +export CONFIGURE_ARGS="--with-cflags='%{optflags}'" +<% end -%> +gem install --local --install-dir .%{gem_dir} \ +<% unless spec.executables.nil? or spec.executables.empty? -%> + --bindir .%{_bindir} \ +<% end -%> +<% unless spec.extensions.empty? -%> + -V \ +<% end -%> + --force %{SOURCE0} + +%build + +%install +mkdir -p %{buildroot}%{gem_dir} +cp -a .%{gem_dir}/* \ + %{buildroot}%{gem_dir}/ + +# Fix the shebang. +find %{buildroot}%{gem_instdir}/{examples,lib,test}/ -type f -name '*.rb' -exec \ + sed -i -e 's|/usr/local/bin/ruby|/usr/bin/ruby|' '{}' \; +# Remove cvs files. +find %{buildroot}%{gem_instdir}/ -type f -iname '.*' -exec rm -f '{}' \; + +<% unless spec.extensions.empty? -%> +mkdir -p %{buildroot}%{gem_extdir}/<%= spec.require_paths.first %> +# TODO: move the extensions +##mv %{buildroot}%{gem_instdir}/<%= spec.require_paths.first %>/shared_object.so %{buildroot}%{gem_extdir}/<%= spec.require_paths.first %>/ +<% end -%> +<% unless spec.executables.nil? or spec.executables.empty? -%> +mkdir -p %{buildroot}%{_bindir} +cp -a .%{_bindir}/* \ + %{buildroot}%{_bindir}/ +<% end -%> +<% unless spec.executables.empty? -%> +find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x +<% end -%> +<% unless spec.extensions.empty? -%> +<%# TODO: Is it possible to delete the folder specified by the spec.extensions? -%> +# Remove the binary extension sources and build leftovers. +rm -rf %{buildroot}%{geminstdir}/ext +<% end -%> + +%check +pushd %{buildroot}%{gem_instdir} +ruby -S testrb -Ilib test/* +popd + +%files +%dir %{gem_instdir} +<% unless spec.executables.nil? or spec.executables.empty? -%> +<% for f in spec.executables -%> +%{_bindir}/<%= f %> +<% end -%> +%{gem_instdir}/bin +<% end -%> +%{gem_libdir} +<% unless spec.extensions.empty? -%> +%{gem_extdir} +<% end -%> +<% unless doc_subpackage -%> +%doc %{gem_docdir} +<% for f in spec.extra_rdoc_files -%> +%doc %{gem_instdir}/<%= f %> +<% end -%> +<% end -%> +%exclude %{gem_cache} +%{gem_spec} +%{gem_instdir}/COPYING + +<% if doc_subpackage -%> +%files doc +%doc %{gem_docdir} +<% for f in spec.extra_rdoc_files -%> +<% unless f == 'INSTALL' -%> +%doc %{gem_instdir}/<%= f %> +<% end -%> +<% end -%> +<% end # if doc_subpackage -%> +%{gem_instdir}/AUTHORS +%{gem_instdir}/Rakefile +%{gem_instdir}/examples +%{gem_instdir}/%{gem_name}.gemspec +%{gem_instdir}/setup.rb +%{gem_instdir}/site +%{gem_instdir}/test +%exclude %{gem_instdir}/INSTALL + +%changelog +* <%= Time.now.strftime("%a %b %d %Y") %> <%= packager %> - <%= spec.version %>-1 +- update to upstream release <%= spec.version %> + +* Mon Feb 27 2012 Jamie Nguyen - 1.6.11-2 +- add spec template +- remove INSTALL file + +* Mon Feb 27 2012 Jamie Nguyen - 1.6.11-1 +- update to upstream release 1.6.11 + +* Wed Feb 22 2012 Jamie Nguyen - 1.5.2-1 +- update to upstream release 1.5.2 +- remove obsolete BuildRoot tag, %%clean section and %%defattr + +* Thu Feb 02 2012 Bohuslav Kabrda - 1.5.1-4 +- Rebuilt for Ruby 1.9.3. +- Introduced -doc subpackage. + +* Sat Jan 14 2012 Fedora Release Engineering - 1.5.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Feb 09 2011 Fedora Release Engineering - 1.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Dec 22 2009 Jeroen van Meeuwen - 1.5.1-1 +- New upstream version + +* Sun Jul 26 2009 Fedora Release Engineering - 1.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Mar 16 2009 Jeroen van Meeuwen - 1.5.0-1 +- New upstream version + +* Wed Feb 25 2009 Fedora Release Engineering - 1.4.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Sep 08 2008 Jeroen van Meeuwen - 1.4.0-2 +- Add ruby(abi) = 1.8 requires + +* Sun Jul 13 2008 root - 1.4.0-1 +- Initial package diff --git a/sources b/sources index 9f3a469..d2c8f56 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (highline-3.0.1.gem) = 65b39f093cb26fac1cb256e8271ce3de98d010c6ceca55a5a782a768a024d40fee56c6b587ed0057cfe3b5451a6e6edf40c3ce50a02f9357b93a3f443d69dd80 -SHA512 (tests-3.0.1.tar.bz2) = 2fd5055d85a306f63afcdbfbf4dfa19968de45030e35ecf23803bd9143b216f1faec6485f904fae5abc30b1eea7f3b59af6546399dd05e0d8f05b025ed927588 +878416e4943c73f7429845765fe4195d highline-1.6.11.gem