diff --git a/.gitignore b/.gitignore index e69de29..70cac7f 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,7 @@ +qrencode-3.1.1.tar.gz +/qrencode-3.2.0.tar.gz +/qrencode-3.3.1.tar.gz +/qrencode-3.4.1.tar.gz +/qrencode-3.4.2.tar.bz2 +/qrencode-3.4.4.tar.bz2 +/qrencode-4.0.2.tar.bz2 diff --git a/qrencode.spec b/qrencode.spec new file mode 100644 index 0000000..c6b7749 --- /dev/null +++ b/qrencode.spec @@ -0,0 +1,248 @@ +# Recent so-version, so we do not bump accidentally. +%global so_ver 4 + +# Set to 1 when building a bootstrap for a bumped so-name. +%global bootstrap 0 + +%if 0%{?bootstrap} +%global version_old 4.0.2 +%global so_ver_old 4 +%endif + + +Name: qrencode +Version: 4.0.2 +Release: 6%{?dist} +Summary: Generate QR 2D barcodes + +License: LGPLv2+ +URL: http://fukuchi.org/works/qrencode/ +Source0: http://fukuchi.org/works/qrencode/qrencode-%{version}.tar.bz2 +%if 0%{?bootstrap} +Source1: http://fukuchi.org/works/qrencode/qrencode-%{version_old}.tar.bz2 +%endif + +BuildRequires: gcc +BuildRequires: chrpath +BuildRequires: libpng-devel +BuildRequires: SDL-devel +## For ARM 64 support (RHBZ 926414) +BuildRequires: autoconf >= 2.69 + +%description +Qrencode is a utility software using libqrencode to encode string data in +a QR Code and save as a PNG image. + + +%package devel +Summary: QR Code encoding library - Development files +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description devel +The qrencode-devel package contains libraries and header files for developing +applications that use qrencode. + + +%package libs +Summary: QR Code encoding library - Shared libraries + +%description libs +The qrencode-libs package contains the shared libraries and header files for +applications that use qrencode. + + +%prep +%autosetup -Tb 0 -p 1 + +%if 0%{?bootstrap} +mkdir -p bootstrap_ver +pushd bootstrap_ver +tar --strip-components=1 -xf %{SOURCE1} +popd +%endif + + +%build +## Rebuild configure scripts for ARM 64 support. (RHBZ 926414) +autoconf +%configure --with-tests +%make_build + +%if 0%{?bootstrap} +pushd bootstrap_ver +autoconf +%configure --with-tests +%make_build +popd +%endif + + +%install +%if 0%{?bootstrap} +%make_install -C bootstrap_ver +%{_bindir}/find %{buildroot} -xtype f -not \ + -name 'lib%{name}.so.%{so_ver_old}*' -delete -print +%{_bindir}/find %{buildroot} -type l -not \ + -name 'lib%{name}.so.%{so_ver_old}*' -delete -print +%endif + +%make_install +rm -f %{buildroot}%{_libdir}/libqrencode.la +chrpath --delete %{buildroot}%{_bindir}/qrencode + + +%check +pushd ./tests +sh test_all.sh +popd + + +%files +%{_bindir}/qrencode +%{_mandir}/man1/qrencode.1* + + +%files libs +%{!?_licensedir:%global license %%doc} +%license COPYING +%doc ChangeLog NEWS README TODO +%{_libdir}/libqrencode.so.%{so_ver}* +%if 0%{?bootstrap} +%{_libdir}/libqrencode.so.%{so_ver_old}* +%endif + + +%files devel +%{_includedir}/qrencode.h +%{_libdir}/libqrencode.so +%{_libdir}/pkgconfig/libqrencode.pc + + +%changelog +* Wed Jul 29 2020 Fedora Release Engineering - 4.0.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jan 30 2020 Fedora Release Engineering - 4.0.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jul 26 2019 Fedora Release Engineering - 4.0.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Jun 25 2019 Björn Esser - 4.0.2-3 +- Disable bootstrap after systemd rebuild + +* Tue Jun 25 2019 Björn Esser - 4.0.2-2 +- Implement bootstrap logic for so-name bumps + +* Tue Jun 25 2019 Paul Wouters - 4.0.2-1 +- Update to 4.0.2 and cleanup by Vasiliy N. Glazov + +* Sat Feb 02 2019 Fedora Release Engineering - 3.4.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sun Dec 09 2018 Matthieu Saulnier - 3.4.4-7 +- Remove French translation in spec file + +* Sat Jul 14 2018 Fedora Release Engineering - 3.4.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 3.4.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Feb 03 2018 Igor Gnatenko - 3.4.4-4 +- Switch to %%ldconfig_scriptlets + +* Thu Aug 03 2017 Fedora Release Engineering - 3.4.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 3.4.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sun Jun 04 2017 Peter Gordon - 3.4.4-1 +- Update to new upstream bug-fix release (3.4.4). + +* Sat Feb 11 2017 Fedora Release Engineering - 3.4.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Feb 04 2016 Fedora Release Engineering - 3.4.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jun 18 2015 Fedora Release Engineering - 3.4.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun Aug 17 2014 Fedora Release Engineering - 3.4.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Mon Aug 4 2014 Tom Callaway - 3.4.2-3 +- fix license handling + +* Sun Jun 08 2014 Fedora Release Engineering - 3.4.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Aug 11 2013 Peter Gordon - 3.4.2-1 +- Update to new upstream release (3.4.2) + - Fixes a memory leak, string-splitting, and Micro QR encoding bugs. +- Run autoconf in %%build to add ARM 64 (aarch64) to the configure scripts. +- Resolves: #926414 (qrencode: Does not support aarch64 in f19 and rawhide) +- Update source/homepage URLs. + +* Sun Aug 04 2013 Fedora Release Engineering - 3.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Jan 25 2013 Matthieu Saulnier - 3.4.1-1 +- Update to 3.4.1 + +* Fri Sep 21 2012 Matthieu Saulnier - 3.3.1-4 +- Add libs subpackage (fix RHBZ #856808) + +* Thu Aug 16 2012 Matthieu Saulnier - 3.3.1-3 +- Add French translation in spec file +- Fix incomplete removing Group tags in spec file + +* Sat Jul 21 2012 Fedora Release Engineering - 3.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jun 23 2012 Matthieu Saulnier - 3.3.1-1 +- update to 3.3.1 +- remove "Group" tag in spec file +- fix manfile suffix +- remove patch to fix improper LIBPTHREAD macro in the pkgconfig file: + - upstream issue + +* Sat Feb 25 2012 Peter Gordon - 3.2.0-3 +- Fix applying the LIBPTHREAD patch. (Thanks to Matthieu Saulnier.) + +* Thu Feb 23 2012 Peter Gordon - 3.2.0-2 +- Add patch to fix improper LIBPTHREAD macro in the pkgconfig file: + + fix-LIBPTHREAD-macro.patch +- Resolves: #795582 (qrencode-devel: Malformed pkgconfig file causes build to + fail ("@LIBPTHREAD@: No such file or directory")) + +* Sun Jan 15 2012 Matthieu Saulnier - 3.2.0-1 +- update to 3.2.0 +- remove BuildRoot tag in spec file +- remove "rm -rf $RPM_BUILD_ROOT" at the beginning of %%install section +- remove %%clean section +- remove %%defattr lines +- add a joker for libqrencode.so.* files + +* Sat Jan 14 2012 Fedora Release Engineering - 3.1.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Dec 06 2011 Adam Jackson - 3.1.1-6 +- Rebuild for new libpng + +* Tue Feb 08 2011 Fedora Release Engineering - 3.1.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Jul 13 2010 Tareq Al Jurf - 3.1.1-4 +- Fixed the rpath problem. + +* Mon Jul 12 2010 Tareq Al Jurf - 3.1.1-3 +- Fixed some small spec mistakes. + +* Mon Jul 12 2010 Tareq Al Jurf - 3.1.1-2 +- Fixed some small errors. + +* Thu Jul 08 2010 Tareq Al Jurf - 3.1.1-1 +- Initial build. diff --git a/sources b/sources new file mode 100644 index 0000000..fc8bdb9 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (qrencode-4.0.2.tar.bz2) = 2429c7938e32eacbaf327c029c7745ba33259f879661a8b6470cc617c780daf5bd1d5689599151df62e84badd2568eccab6c12f157331e512ab24a3899e0f002 diff --git a/tests/smoke/Makefile b/tests/smoke/Makefile new file mode 100644 index 0000000..8385e9f --- /dev/null +++ b/tests/smoke/Makefile @@ -0,0 +1,62 @@ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Makefile of /CoreOS/qrencode/Sanity/smoke +# Description: Check sanity of qrencode +# Author: Petr Splichal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +export TEST=/CoreOS/qrencode/Sanity/smoke +export TESTVERSION=1.0 + +BUILT_FILES= + +FILES=$(METADATA) runtest.sh Makefile PURPOSE + +.PHONY: all install download clean + +run: $(FILES) build + ./runtest.sh + +build: $(BUILT_FILES) + test -x runtest.sh || chmod a+x runtest.sh + +clean: + rm -f *~ $(BUILT_FILES) + + +include /usr/share/rhts/lib/rhts-make.include + +$(METADATA): Makefile + @echo "Owner: Petr Splichal " > $(METADATA) + @echo "Name: $(TEST)" >> $(METADATA) + @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) + @echo "Path: $(TEST_DIR)" >> $(METADATA) + @echo "Description: Check sanity of qrencode" >> $(METADATA) + @echo "Type: Sanity" >> $(METADATA) + @echo "TestTime: 5m" >> $(METADATA) + @echo "RunFor: qrencode" >> $(METADATA) + @echo "Requires: qrencode file" >> $(METADATA) + @echo "Priority: Normal" >> $(METADATA) + @echo "License: GPLv2+" >> $(METADATA) + @echo "Confidential: no" >> $(METADATA) + @echo "Destructive: no" >> $(METADATA) + + rhts-lint $(METADATA) diff --git a/tests/smoke/PURPOSE b/tests/smoke/PURPOSE new file mode 100644 index 0000000..f2d820f --- /dev/null +++ b/tests/smoke/PURPOSE @@ -0,0 +1,3 @@ +PURPOSE of /CoreOS/qrencode/Sanity/smoke +Description: Check sanity of qrencode +Author: Petr Splichal diff --git a/tests/smoke/runtest.sh b/tests/smoke/runtest.sh new file mode 100755 index 0000000..52e35dd --- /dev/null +++ b/tests/smoke/runtest.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /CoreOS/qrencode/Sanity/smoke +# Description: Check sanity of qrencode +# Author: Petr Splichal +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2017 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/bin/rhts-environment.sh || exit 1 +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="qrencode" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" + rlRun "pushd $TmpDir" + rlPhaseEnd + + rlPhaseStartTest + for type in png eps svg; do + rlRun "qrencode abcdefg -t $type -o qr.$type" + rlRun "file qr.$type | tee output" + rlAssertGrep "$type" "output" "-iq" + done + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $TmpDir" 0 "Removing tmp directory" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..e410357 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,12 @@ +- hosts: localhost + roles: + - role: standard-test-beakerlib + tags: + - classic + - container + - atomic + tests: + - smoke + required_packages: + - qrencode + - file