Compare commits

...

No commits in common. "c8" and "c9s" have entirely different histories.
c8 ... c9s

21 changed files with 491 additions and 88 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/guile-2.0.14.tar.xz /guile-2.0.14.tar.xz

View File

@ -1 +1 @@
88cac56a7c017aae29a581772146057a9cd283f9 SOURCES/guile-2.0.14.tar.xz 88cac56a7c017aae29a581772146057a9cd283f9 guile-2.0.14.tar.xz

View File

@ -1,47 +0,0 @@
diff -up guile-2.0.9/libguile/Makefile.in.multilib guile-2.0.9/libguile/Makefile.in
--- guile-2.0.9/libguile/Makefile.in.multilib 2013-04-10 01:31:59.000000000 +0200
+++ guile-2.0.9/libguile/Makefile.in 2013-07-16 16:59:59.490527131 +0200
@@ -3283,6 +3283,11 @@ install-nodist_modincludeHEADERS: $(nodi
while read files; do \
echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(modincludedir)'"; \
$(INSTALL_HEADER) $$files "$(DESTDIR)$(modincludedir)" || exit $$?; \
+ for f in $$files; do if [ "$$f" = "scmconfig.h" ]; then \
+ grep -q "SCM_SIZEOF_LONG 4" "$(DESTDIR)$(modincludedir)/$$f" && g=32 || g=64; \
+ mv "$(DESTDIR)$(modincludedir)/$$f" "$(DESTDIR)$(modincludedir)/scmconfig-$$g.h"; \
+ $(INSTALL_HEADER) "$${d}scmconfig-multilib.h" "$(DESTDIR)$(modincludedir)/$$f"; \
+ fi; done \
done
uninstall-nodist_modincludeHEADERS:
diff -up guile-2.0.9/libguile/scmconfig-multilib.h.multilib guile-2.0.9/libguile/scmconfig-multilib.h
--- guile-2.0.9/libguile/scmconfig-multilib.h.multilib 2013-07-16 17:02:26.045733704 +0200
+++ guile-2.0.9/libguile/scmconfig-multilib.h 2013-07-16 17:01:51.623685971 +0200
@@ -0,0 +1,7 @@
+/* multilib clean wrapper */
+#include <bits/wordsize.h>
+#if __WORDSIZE == 32
+#include "libguile/scmconfig-32.h"
+#else
+#include "libguile/scmconfig-64.h"
+#endif
diff -up guile-2.0.9/meta/guile-config.in.multilib guile-2.0.9/meta/guile-config.in
--- guile-2.0.9/meta/guile-config.in.multilib 2012-07-02 11:28:14.000000000 +0200
+++ guile-2.0.9/meta/guile-config.in 2013-07-16 17:09:25.650324597 +0200
@@ -1,7 +1,6 @@
#!/bin/sh
-PKG_CONFIG_PATH="@pkgconfigdir@:$PKG_CONFIG_PATH"
GUILE_AUTO_COMPILE=0
-export PKG_CONFIG_PATH GUILE_AUTO_COMPILE
+export GUILE_AUTO_COMPILE
exec "@installed_guile@" -e main -s $0 "$@"
!#
@@ -31,7 +30,7 @@ exec "@installed_guile@" -e main -s $0 "
(ice-9 rdelim))
-(define %pkg-config-program "@PKG_CONFIG@")
+(define %pkg-config-program "pkg-config")
;;;; main function, command-line processing

1
dead.package Normal file
View File

@ -0,0 +1 @@
guile package is retired on c9s for CS-391

21
guile-configure.patch Normal file
View File

@ -0,0 +1,21 @@
diff -Nrup a/m4/mathfunc.m4 b/m4/mathfunc.m4
--- a/m4/mathfunc.m4 2016-12-14 17:03:33.000000000 -0700
+++ b/m4/mathfunc.m4 2020-01-06 19:48:46.684158282 -0700
@@ -60,7 +60,7 @@ AC_DEFUN([gl_MATHFUNC],
#endif
#include <math.h>
$4
- $2 (*funcptr) $3 = ]func[;
+ __attribute__ ((used)) $2 (*funcptr) $3 = ]func[;
int i_ret;
float f_ret;
double d_ret;
@@ -85,7 +85,7 @@ AC_DEFUN([gl_MATHFUNC],
#endif
#include <math.h>
$4
- $2 (*funcptr) $3 = ]func[;
+ __attribute__ ((used)) $2 (*funcptr) $3 = ]func[;
int i_ret;
float f_ret;
double d_ret;

19
guile-ieeetest.patch Normal file
View File

@ -0,0 +1,19 @@
diff -up guile-2.0.14/test-suite/tests/bytevectors.test.orig guile-2.0.14/test-suite/tests/bytevectors.test
--- guile-2.0.14/test-suite/tests/bytevectors.test.orig 2018-07-20 10:53:26.644659326 +0200
+++ guile-2.0.14/test-suite/tests/bytevectors.test 2018-07-20 10:52:50.668567335 +0200
@@ -381,6 +381,7 @@
(equal? (bytevector-ieee-single-ref b 0 (endianness little))
(bytevector-ieee-single-ref b 4 (endianness big)))))
+ #!
(pass-if "bytevector-ieee-single-{ref,set!} [unaligned]"
(let ((b (make-bytevector 9))
(number 3.14))
@@ -388,6 +389,7 @@
(bytevector-ieee-single-set! b 5 number (endianness big))
(equal? (bytevector-ieee-single-ref b 1 (endianness little))
(bytevector-ieee-single-ref b 5 (endianness big)))))
+ !#
(pass-if "double, little endian"
;; http://bugs.gnu.org/11310

67
guile-multilib.patch Normal file
View File

@ -0,0 +1,67 @@
commit 23eafdbac3bcb1116205a9ef51f0bd301c966483
Author: Tomas Korbar <tkorbar@redhat.com>
Date: Mon Jan 25 10:04:19 2021 +0100
Fix multilib
diff --git a/libguile/Makefile.am b/libguile/Makefile.am
index 74894e1..2ee2ef5 100644
--- a/libguile/Makefile.am
+++ b/libguile/Makefile.am
@@ -84,7 +84,10 @@ scmconfig.h: ${top_builddir}/config.h gen-scmconfig$(EXEEXT)
./gen-scmconfig$(EXEEXT) >> scmconfig.h.tmp; \
chmod 444 scmconfig.h.tmp; \
rm -f scmconfig.h; \
- mv scmconfig.h.tmp scmconfig.h)
+ mv scmconfig.h.tmp scmconfig.h; \
+ grep -q "SCM_SIZEOF_LONG 4" ./scmconfig.h && g=32 || g=64; \
+ mv scmconfig.h scmconfig-$$g.h;\
+ cp scmconfig-multilib.h scmconfig.h)
guile_filter_doc_snarfage_SOURCES = c-tokenize.c
@@ -661,7 +664,8 @@ modinclude_HEADERS = \
vm-expand.h \
vm.h \
vports.h \
- weaks.h
+ weaks.h \
+ scmconfig-[0-9][0-9].h
nodist_modinclude_HEADERS = version.h scmconfig.h
diff --git a/libguile/scmconfig-multilib.h b/libguile/scmconfig-multilib.h
new file mode 100644
index 0000000..d7f96a2
--- /dev/null
+++ b/libguile/scmconfig-multilib.h
@@ -0,0 +1,7 @@
+/* multilib clean wrapper */
+#include <bits/wordsize.h>
+#if __WORDSIZE == 32
+#include "scmconfig-32.h"
+#else
+#include "scmconfig-64.h"
+#endif
diff --git a/meta/guile-config.in b/meta/guile-config.in
index 0226f68..5a6effc 100755
--- a/meta/guile-config.in
+++ b/meta/guile-config.in
@@ -1,7 +1,6 @@
#!/bin/sh
-PKG_CONFIG_PATH="@pkgconfigdir@:$PKG_CONFIG_PATH"
GUILE_AUTO_COMPILE=0
-export PKG_CONFIG_PATH GUILE_AUTO_COMPILE
+export GUILE_AUTO_COMPILE
exec "@installed_guile@" -e main -s $0 "$@"
!#
@@ -31,7 +30,7 @@ exec "@installed_guile@" -e main -s $0 "$@"
(ice-9 rdelim))
-(define %pkg-config-program "@PKG_CONFIG@")
+(define %pkg-config-program "pkg-config")
;;;; main function, command-line processing

View File

@ -2,16 +2,14 @@ Summary: A GNU implementation of Scheme for application extensibility
Name: guile Name: guile
%define mver 2.0 %define mver 2.0
Version: 2.0.14 Version: 2.0.14
Release: 7%{?dist} Release: 25%{?dist}
Epoch: 5 Epoch: 5
Source: ftp://ftp.gnu.org/pub/gnu/guile/guile-%{version}.tar.xz Source: ftp://ftp.gnu.org/pub/gnu/guile/guile-%{version}.tar.xz
URL: http://www.gnu.org/software/guile/ URL: http://www.gnu.org/software/guile/
License: LGPLv3+ License: LGPLv3+
Group: Development/Languages BuildRequires: gcc libtool libtool-ltdl-devel gmp-devel readline-devel
BuildRequires: libtool libtool-ltdl-devel gmp-devel readline-devel
BuildRequires: gettext-devel libunistring-devel libffi-devel gc-devel BuildRequires: gettext-devel libunistring-devel libffi-devel gc-devel
Requires(post): /sbin/install-info BuildRequires: make
Requires(preun): /sbin/install-info
Requires: coreutils Requires: coreutils
Patch1: guile-multilib.patch Patch1: guile-multilib.patch
@ -20,6 +18,8 @@ Patch3: guile-threadstest.patch
# Avoid linking all guile consumers to libgc # Avoid linking all guile consumers to libgc
# TODO: consider using: Requires.private: bdw-gc # TODO: consider using: Requires.private: bdw-gc
Patch4: guile-2.0.14-gc_pkgconfig_private.patch Patch4: guile-2.0.14-gc_pkgconfig_private.patch
Patch5: guile-ieeetest.patch
Patch6: guile-configure.patch
%description %description
GUILE (GNU's Ubiquitous Intelligent Language for Extension) is a library GUILE (GNU's Ubiquitous Intelligent Language for Extension) is a library
@ -32,7 +32,6 @@ that you are developing.
%package devel %package devel
Summary: Libraries and header files for the GUILE extensibility library Summary: Libraries and header files for the GUILE extensibility library
Group: Development/Libraries
Requires: guile%{?_isa} = %{epoch}:%{version}-%{release} gmp-devel gc-devel Requires: guile%{?_isa} = %{epoch}:%{version}-%{release} gmp-devel gc-devel
Requires: pkgconfig Requires: pkgconfig
@ -51,8 +50,19 @@ install the guile package.
%patch2 -p1 -b .i18ntest %patch2 -p1 -b .i18ntest
%patch3 -p1 -b .threadstest %patch3 -p1 -b .threadstest
%patch4 -p1 -b .gc_pkgconfig_private %patch4 -p1 -b .gc_pkgconfig_private
%ifarch ppc64le
%patch5 -p1 -b .ieeetest
%endif
%patch6 -p1 -b .configure
%build %build
autoreconf -fiv
# The -O2 option in CFLAGS seems to cause the build to fail on
# some archs (bug #1675089)
%ifarch armv7hl ppc64le
export CFLAGS="$(echo $RPM_OPT_FLAGS | sed 's/-O2/-Os/')"
%endif
%configure --disable-static --disable-error-on-warning %configure --disable-static --disable-error-on-warning
@ -84,6 +94,7 @@ touch $RPM_BUILD_ROOT%{_datadir}/guile/site/%{mver}/slibcat
# Create symlinks for compatibility # Create symlinks for compatibility
ln -s guile $RPM_BUILD_ROOT%{_bindir}/guile2 ln -s guile $RPM_BUILD_ROOT%{_bindir}/guile2
ln -s %{_mandir}/man1/guile.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/guile2.1.gz
ln -s guile-tools $RPM_BUILD_ROOT%{_bindir}/guile2-tools ln -s guile-tools $RPM_BUILD_ROOT%{_bindir}/guile2-tools
# Adjust mtimes so they are all identical on all architectures. # Adjust mtimes so they are all identical on all architectures.
@ -98,40 +109,9 @@ find $RPM_BUILD_ROOT%{_datadir} -name '*.scm' -exec touch -r "%{_specdir}/guile.
find $RPM_BUILD_ROOT%{_libdir} -name '*.go' -exec touch -r "%{_specdir}/guile.spec" '{}' \; find $RPM_BUILD_ROOT%{_libdir} -name '*.go' -exec touch -r "%{_specdir}/guile.spec" '{}' \;
%check %check
make %{?_smp_mflags} check ||: %make_build check
%post %ldconfig_scriptlets
/sbin/ldconfig
for i in guile r5rs; do
/sbin/install-info %{_infodir}/${i}.info.gz %{_infodir}/dir &> /dev/null
done
:
%postun -p /sbin/ldconfig
%preun
if [ "$1" = 0 ]; then
for i in guile r5rs; do
/sbin/install-info --delete %{_infodir}/${i}.info.gz \
%{_infodir}/dir &> /dev/null
# Remove entries created by packages before 2.0.9-3
/sbin/install-info --delete %{_infodir}/${i}2.info.gz \
%{_infodir}/dir &> /dev/null
done
fi
:
%triggerin -- guile < 5:2.0.9-3
# Allow safe upgrade from older versions
ln -f %{_bindir}/guile{,.save}
ln -f %{_bindir}/guile-tools{,.save}
:
%posttrans
# Move saved files back
[ -e %{_bindir}/guile.save ] && mv -f %{_bindir}/guile{.save,}
[ -e %{_bindir}/guile-tools.save ] && mv -f %{_bindir}/guile-tools{.save,}
:
%triggerin -- slib >= 3b4-1 %triggerin -- slib >= 3b4-1
rm -f %{_datadir}/guile/site/%{mver}/slibcat rm -f %{_datadir}/guile/site/%{mver}/slibcat
@ -178,6 +158,7 @@ fi
%ghost %{_datadir}/guile/site/%{mver}/slibcat %ghost %{_datadir}/guile/site/%{mver}/slibcat
%{_infodir}/* %{_infodir}/*
%{_mandir}/man1/guile.1* %{_mandir}/man1/guile.1*
%{_mandir}/man1/guile2.1*
%files devel %files devel
%{_bindir}/guile-config %{_bindir}/guile-config
@ -188,6 +169,64 @@ fi
%{_includedir}/guile %{_includedir}/guile
%changelog %changelog
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 5:2.0.14-25
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5:2.0.14-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jan 25 2021 Tomas Korbar <tkorbar@redhat.com> - 5:2.0.14-23
- Allow guile-devel x86_64 and i686 to be installed at the same time
- Resolves: rhbz#1915345
* Thu Aug 13 2020 Tomas Korbar <tkorbar@redhat.com> - 5:2.0.14-22
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5:2.0.14-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue May 26 2020 Tomas Korbar <tkorbar@redhat.com> - 5:2.0.14-20
- Create symlink for guile2 manpage (#1612696)
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5:2.0.14-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jan 17 2020 Jeff Law <law@redhat.com> - 5:2.0.14-18
- Fix configure tests compromised by LTO
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5:2.0.14-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Feb 19 2019 Miroslav Lichvar <mlichvar@redhat.com> - 5:2.0.14-16
- adjust CFLAGS on armv7hl and ppc64le to fix building (#1675089)
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 5:2.0.14-15
- Rebuild for readline 8.0
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5:2.0.14-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 14 2019 Björn Esser <besser82@fedoraproject.org> - 5:2.0.14-13
- Rebuilt for libcrypt.so.2 (#1666033)
* Fri Jul 20 2018 Miroslav Lichvar <mlichvar@redhat.com> - 5:2.0.14-12
- disable failing floating-point test on ppc64le (#1604296)
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5:2.0.14-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Jun 21 2018 Miroslav Lichvar <mlichvar@redhat.com> - 5:2.0.14-10
- drop support for upgrading from very old packages
- drop obsolete install-info scriptlets
* Tue May 22 2018 Miroslav Lichvar <mlichvar@redhat.com> - 5:2.0.14-9
- use macros for ldconfig scriptlets
- add gcc to build requirements
* Tue Feb 20 2018 Rex Dieter <rdieter@fedoraproject.org> - 5:2.0.14-8
- %%check: restore
* Tue Feb 20 2018 Rex Dieter <rdieter@fedoraproject.org> - 5:2.0.14-7 * Tue Feb 20 2018 Rex Dieter <rdieter@fedoraproject.org> - 5:2.0.14-7
- avoid linking all guile-devel consumers to libgc - avoid linking all guile-devel consumers to libgc
- BR: gcc - BR: gcc

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (guile-2.0.14.tar.xz) = 2cad60ab8aa77be44bc4988eaa3a2f0652637f315322abd6011c18f1800c3a461eefa15a14fd54d0d48031b093bc56dfc6cd15dc0a8260b97b40521bff793db6

4
tests/inventory Executable file
View File

@ -0,0 +1,4 @@
#!/bin/bash
#upstream test needs tty
export TEST_DOCKER_EXTRA_ARGS="-v /dev:/dev --privileged"
exec merge-standard-inventory "$@"

63
tests/smoke/Makefile Normal file
View File

@ -0,0 +1,63 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /CoreOS/guile/Sanity/smoke
# Description: Guile smoke test
# Author: Petr Splichal <psplicha@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2011 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# 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, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/CoreOS/guile/Sanity/smoke
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE fact
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Petr Splichal <psplicha@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Guile smoke test" >> $(METADATA)
@echo "Type: Sanity" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: guile" >> $(METADATA)
@echo "Requires: guile" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
rhts-lint $(METADATA)

5
tests/smoke/PURPOSE Normal file
View File

@ -0,0 +1,5 @@
PURPOSE of /CoreOS/guile/Sanity/smoke
Description: Guile smoke test
Author: Petr Splichal <psplicha@redhat.com>
Smoke test for the Guile interpreter.

6
tests/smoke/fact Normal file
View File

@ -0,0 +1,6 @@
(define (fact n)
(if (zero? n) 1
(* n (fact (- n 1)))))
(display (fact 12))
(newline)

68
tests/smoke/runtest.sh Normal file
View File

@ -0,0 +1,68 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/guile/Sanity/smoke
# Description: Guile smoke test
# Author: Petr Splichal <psplicha@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2011 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# 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, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/bin/rhts-environment.sh
. /usr/lib/beakerlib/beakerlib.sh
PACKAGE="guile"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
rlRun "cp fact $TmpDir" 0 "Copying simple guile script"
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartTest
# Simple arithmetic
rlRun "echo '(+ 1 1 1)' | guile | tee output" 0 "Simple arithmetic"
rlAssertGrep "3" "output"
# String operation
rlRun "echo '(string-append \"O\" \"K\")' | guile | tee output" \
0 "String operation"
rlAssertGrep "OK" "output"
# Function definition
rlRun "guile fact | tee output" 0 "Function definition"
rlAssertGrep "479001600" "output"
# Punifying external script
rlRun "guile-tools punify fact | tee output" \
0 "Punifying external script"
rlAssertGrep "define.*zero.*newline" "output"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

25
tests/tests.yml Normal file
View File

@ -0,0 +1,25 @@
---
# Tests to run in a classic and container environments
- hosts: localhost
roles:
- role: standard-test-beakerlib
tags:
- classic
- container
tests:
- smoke
- upstream
required_packages:
- guile
- findutils # beakerlib needs find command
- gettext-devel # upstream needs it
- gmp-devel # upstream needs it
- libtool # upstream needs it
- libtool-ltdl-devel # upstream needs it
- readline-devel # upstream needs it
- rpm-build # upstream needs it
- libunistring-devel # upstream needs it
- libffi-devel # upstream needs it
- gc-devel # upstream needs it
- wget # rlFetchSrcForInstalled needs it

63
tests/upstream/Makefile Normal file
View File

@ -0,0 +1,63 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /CoreOS/guile/Sanity/upstream
# Description: Upstream test suite
# Author: Petr Splichal <psplicha@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2011 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# 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, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/CoreOS/guile/Sanity/upstream
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 <psplicha@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Upstream test suite" >> $(METADATA)
@echo "Type: Sanity" >> $(METADATA)
@echo "TestTime: 60m" >> $(METADATA)
@echo "RunFor: guile" >> $(METADATA)
@echo "Requires: gettext-devel gmp-devel guile libtool libtool-ltdl-devel readline-devel rpm-build libunistring-devel libffi-devel gc-devel" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
rhts-lint $(METADATA)

3
tests/upstream/PURPOSE Normal file
View File

@ -0,0 +1,3 @@
PURPOSE of /CoreOS/guile/Sanity/upstream
Description: Upstream test suite
Author: Petr Splichal <psplicha@redhat.com>

65
tests/upstream/runtest.sh Normal file
View File

@ -0,0 +1,65 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/guile/Sanity/upstream
# Description: Upstream test suite
# Author: Petr Splichal <psplicha@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2011 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# 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, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/bin/rhts-environment.sh
. /usr/lib/beakerlib/beakerlib.sh
PACKAGE="guile"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
# fetch tests
rlRun "rlFetchSrcForInstalled $PACKAGE" 0 "Fetching the source rpm"
rlRun "rpm --define '_topdir $TmpDir' -i *src.rpm" \
0 "Installing the source rpm"
rlRun "mkdir BUILD" 0 "Creating BUILD directory"
rlRun "rpmbuild --nodeps --define '_topdir $TmpDir' \
-bc $TmpDir/SPECS/*spec" 0 "Preparing sources"
rlRun "pushd BUILD/guile*"
rlPhaseEnd
rlPhaseStartTest
rlRun "make check" 0 "Dry run of the test suite"
rlRun "ln -snf /usr/bin/guile libguile/guile" \
0 "Replacing built guile interpreter with system binary"
rlRun "pushd test-suite"
rlRun "make check" 0 "Running the test suite"
rlRun "popd"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd