diff --git a/.cvsignore b/.cvsignore new file mode 100644 index 0000000..e69de29 diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index 9fba28f..9458471 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1 @@ -libunistring-0.9.3.tar.gz -/libunistring-0.9.4.tar.xz -/libunistring-0.9.7.tar.xz -/libunistring-0.9.8.tar.xz -/libunistring-0.9.9.tar.xz -/libunistring-0.9.10.tar.xz -/libunistring-1.0.tar.xz -/libunistring-1.1.tar.xz +/libunistring-0.9.3.tar.gz diff --git a/0001-Add-NULL-check-for-malloc-in-two-uninorm-files.patch b/0001-Add-NULL-check-for-malloc-in-two-uninorm-files.patch new file mode 100644 index 0000000..9ec79f4 --- /dev/null +++ b/0001-Add-NULL-check-for-malloc-in-two-uninorm-files.patch @@ -0,0 +1,45 @@ +From 157da9e2421d3db15b9fa2f832d650b64818accc Mon Sep 17 00:00:00 2001 +From: Stephen Gallagher +Date: Wed, 29 Feb 2012 08:05:09 -0500 +Subject: [PATCH] Add NULL check for malloc() in two uninorm files + +--- + lib/uninorm/u-normalize-internal.h | 5 +++++ + lib/uninorm/uninorm-filter.c | 5 +++++ + 2 files changed, 10 insertions(+), 0 deletions(-) + +diff --git a/lib/uninorm/u-normalize-internal.h b/lib/uninorm/u-normalize-internal.h +index e21243fe5589c0ca87ce230f5ea049bb37224a07..955893c15fa9044f9eff2ea407504008d9e35eea 100644 +--- a/lib/uninorm/u-normalize-internal.h ++++ b/lib/uninorm/u-normalize-internal.h +@@ -310,6 +310,11 @@ FUNC (uninorm_t nf, const UNIT *s, size_t n, + abort (); + new_sortbuf = + (struct ucs4_with_ccc *) malloc (2 * sortbuf_allocated * sizeof (struct ucs4_with_ccc)); ++ if(new_sortbuf == NULL) { ++ errno = ENOMEM; ++ goto fail; ++ } ++ + memcpy (new_sortbuf, sortbuf, + sortbuf_count * sizeof (struct ucs4_with_ccc)); + if (sortbuf != sortbuf_preallocated) +diff --git a/lib/uninorm/uninorm-filter.c b/lib/uninorm/uninorm-filter.c +index 3d991cbf027b1cd4e589838d00865a5ff94905b9..2df1490281ada05bac1f0cf01ce3ef8883ea9920 100644 +--- a/lib/uninorm/uninorm-filter.c ++++ b/lib/uninorm/uninorm-filter.c +@@ -241,6 +241,11 @@ uninorm_filter_write (struct uninorm_filter *filter, ucs4_t uc_arg) + new_sortbuf = + (struct ucs4_with_ccc *) + malloc (2 * filter->sortbuf_allocated * sizeof (struct ucs4_with_ccc)); ++ if (new_sortbuf == NULL) { ++ errno = ENOMEM; ++ return -1; ++ } ++ + memcpy (new_sortbuf, filter->sortbuf, + sortbuf_count * sizeof (struct ucs4_with_ccc)); + if (filter->sortbuf != filter->sortbuf_preallocated) +-- +1.7.7.6 + diff --git a/README.md b/README.md deleted file mode 100644 index fd5c17f..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# libunistring - -This project conatains libunistring i18n testcases diff --git a/changelog b/changelog deleted file mode 100644 index 9109fb1..0000000 --- a/changelog +++ /dev/null @@ -1,127 +0,0 @@ -* Thu Jul 21 2022 Fedora Release Engineering - 1.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sun Jan 23 2022 Daiki Ueno - 1.0-1 -- Update to upstream 1.0 release -- Switch to %%autosetup - -* Thu Jan 20 2022 Fedora Release Engineering - 0.9.10-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Thu Jul 22 2021 Fedora Release Engineering - 0.9.10-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Mon Jun 21 2021 Mike FABIAN - 0.9.10-13 -- Related rhbz#1938800: Fix CI tests and convert them to tmt - -* Mon Jun 14 2021 Mike FABIAN - 0.9.10-12 -- Fix memory leak in vasnprint. Resolves: rhbz#1938800 - (Backported from upstream: https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=4d288a80bf7ebe29334b9805cdcc70eacb6059c1) -- Fix spelling in license GPLV2+ -> GPLv2+ - -* Tue Jan 26 2021 Fedora Release Engineering - 0.9.10-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 0.9.10-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jul 13 2020 Tom Stellard - 0.9.10-8 -- Use make macros -- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro - -* Wed Jan 29 2020 Fedora Release Engineering - 0.9.10-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Jul 25 2019 Fedora Release Engineering - 0.9.10-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Feb 01 2019 Fedora Release Engineering - 0.9.10-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Tue Jul 31 2018 Florian Weimer - 0.9.10-4 -- Rebuild with fixed binutils - -* Sat Jul 28 2018 Igor Gnatenko - 0.9.10-3 -- Replace obsolete scriptlets - -* Fri Jul 13 2018 Fedora Release Engineering - 0.9.10-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Mon May 28 2018 Daiki Ueno - 0.9.10-1 -- Update to upstream 0.9.10 release - -* Thu Mar 01 2018 Daiki Ueno - 0.9.9-1 -- Update to upstream 0.9.9 release - -* Wed Feb 07 2018 Fedora Release Engineering - 0.9.8-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Sat Feb 03 2018 Igor Gnatenko - 0.9.8-2 -- Switch to %%ldconfig_scriptlets - -* Sat Dec 2 2017 Daiki Ueno - 0.9.8-1 -- Update to 0.9.8 - -* Thu Aug 03 2017 Fedora Release Engineering - 0.9.7-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 0.9.7-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Feb 17 2017 Daiki Ueno - 0.9.7-1 -- Update to 0.9.7 -- Update license to "GPLv2+ or LGPLv2+" - -* Wed Feb 01 2017 Stephen Gallagher - 0.9.4-4 -- Add missing %%license macro - -* Thu Feb 04 2016 Fedora Release Engineering - 0.9.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Wed Jun 17 2015 Fedora Release Engineering - 0.9.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Tue Sep 02 2014 Pádraig Brady - 0.9.4-1 -- Latest upstream - -* Sun Aug 17 2014 Fedora Release Engineering - 0.9.3-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sat Jun 07 2014 Fedora Release Engineering - 0.9.3-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Thu Aug 29 2013 Pádraig Brady 0.9.3-9 -- Adjust to avoid duplicate docs caused by %%doc macro changes in Fedora 20 - -* Sat Aug 03 2013 Fedora Release Engineering - 0.9.3-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Thu Feb 14 2013 Fedora Release Engineering - 0.9.3-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Thu Jul 19 2012 Fedora Release Engineering - 0.9.3-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Tue Jun 26 2012 Akira TAGOH - 0.9.3-5 -- Fix a typo in %%preun. (#737638) - -* Tue May 15 2012 Mikolaj Izdebski - 0.9.3-4 -- Add bundled(gnulib) provides - -* Fri Jan 13 2012 Fedora Release Engineering - 0.9.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Tue Feb 08 2011 Fedora Release Engineering - 0.9.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Sun May 23 2010 Pádraig Brady 0.9.3-1 -- Update to 0.9.3 - -* Thu Nov 19 2009 Pádraig Brady 0.9.1-3 -- Remove glibc-devel and texinfo build deps - -* Thu Nov 19 2009 Pádraig Brady 0.9.1-2 -- Changes as per initial review by panemade@gmail.com - -* Tue Nov 17 2009 Pádraig Brady 0.9.1-1 -- Initial version diff --git a/libunistring.spec b/libunistring.spec index 6174759..80b433f 100644 --- a/libunistring.spec +++ b/libunistring.spec @@ -1,14 +1,17 @@ -# This spec file has been automatically updated -Version: 1.1 -Release: %{?autorelease}%{!?autorelease:1%{?dist}} Name: libunistring +Version: 0.9.3 +Release: 5%{?dist} +Group: System Environment/Libraries Summary: GNU Unicode string library -License: GPL-2.0-or-later OR LGPL-3.0-or-later -URL: https://www.gnu.org/software/libunistring/ -Source0: https://ftp.gnu.org/gnu/libunistring/%{name}-%{version}.tar.xz -BuildRequires: gcc -BuildRequires: make -Provides: bundled(gnulib) +License: LGPLv3+ +Url: http://www.gnu.org/software/libunistring/ +Source0: http://ftp.gnu.org/gnu/libunistring/%{name}-%{version}.tar.gz +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +Requires(post): info +Requires(preun): info + +# Patches +Patch0001: 0001-Add-NULL-check-for-malloc-in-two-uninorm-files.patch %description This portable C library implements Unicode string types in three flavours: @@ -18,40 +21,66 @@ This portable C library implements Unicode string types in three flavours: case folding and regular expressions). %package devel +Group: Development/Libraries Summary: GNU Unicode string library - development files -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name} = %{version}-%{release} %description devel Development files for programs using libunistring. %prep -%autosetup +%setup -q + +%patch0001 -p1 %build %configure --disable-static --disable-rpath -%make_build +make %{?_smp_mflags} %install -%make_install -rm -f $RPM_BUILD_ROOT%{_infodir}/dir -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}.la -# Move staged docs so not picked up by %%doc in main package -mv $RPM_BUILD_ROOT%{_datadir}/doc/%{name} __doc +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" +rm -f $RPM_BUILD_ROOT/%{_infodir}/dir +rm -f $RPM_BUILD_ROOT/%{_libdir}/%{name}.la + +%clean +rm -rf $RPM_BUILD_ROOT %files -%license COPYING COPYING.LIB +%defattr(-,root,root,-) %doc AUTHORS NEWS README -%{_libdir}/%{name}.so.5* +%{_libdir}/%{name}.so.* %files devel +%defattr(-,root,root,-) %doc HACKING DEPENDENCIES THANKS ChangeLog -%doc __doc/* +%doc %{_datadir}/doc/%{name}/*.html %{_infodir}/%{name}.info* %{_libdir}/%{name}.so %{_includedir}/unistring %{_includedir}/*.h -%ldconfig_scriptlets +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%post devel +/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || : + +%preun devel +if [ $1 = 0 ]; then + /sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || : +fi %changelog -%autochangelog +* Wed Feb 29 2012 Stephen Gallagher - 0.9.3-5 +- Resolves: rhbz#732017 - Malloc without NULL check + +* Mon Sep 12 2011 Stephen Gallagher - 0.9.3-4 +- Resolves: rhbz#737592 - %%preun error while uninstalling libunistring-devel + +* Tue Aug 02 2011 Stephen Gallagher - 0.9.3-3 +- Imported from Fedora +- Resolves: rhbz#726463 - Add libunistring as a separate component/package + into RHEL + diff --git a/plans/basic.fmf b/plans/basic.fmf deleted file mode 100644 index c1627f9..0000000 --- a/plans/basic.fmf +++ /dev/null @@ -1,5 +0,0 @@ -summary: Basic smoke test -discover: - how: fmf -execute: - how: tmt diff --git a/sources b/sources index ec47161..2133805 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libunistring-1.1.tar.xz) = 01a4267bbd301ea5c389b17ee918ae5b7d645da8b2c6c6f0f004ff2dead9f8e50cda2c6047358890a5fceadc8820ffc5154879193b9bb8970f3fb1fea1f411d6 +SHA512 (libunistring-0.9.3.tar.gz) = 351c0c94c4a31efbed932978ff8afae4defd7c28771d2d877b5ead5383a4f1b53200ece72b6908a9bafb7836775b2af3465e051226e43520ada2b8c583314d12 diff --git a/tests/README.md b/tests/README.md deleted file mode 100644 index fd5c17f..0000000 --- a/tests/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# libunistring - -This project conatains libunistring i18n testcases diff --git a/tests/libunistring-tests/.gitignore b/tests/libunistring-tests/.gitignore deleted file mode 100644 index 3982139..0000000 --- a/tests/libunistring-tests/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -test -testfile.utf* diff --git a/tests/libunistring-tests/libunistring_test.py b/tests/libunistring-tests/libunistring_test.py deleted file mode 100644 index f5ed94d..0000000 --- a/tests/libunistring-tests/libunistring_test.py +++ /dev/null @@ -1,58 +0,0 @@ -# -*- coding: utf-8 -*- - -import sys -import os -import subprocess -import logging - -""" -Creating a result.log file for saving logs -""" -logging.basicConfig(level=logging.INFO) - -logging.info("TEST RESULTS FOR FUNCTION\n\n") - -data = [] - -TESTTEXT = 'Viele Grüße\n日本語\n' - -def create_testfiles(): - dummy = subprocess.run("./test '" + TESTTEXT + "'", shell=True) - -def test(path='', encoding=''): - """ - Read the file at path using the specified encoding and check - whether the TESTTEXT can be read back correctly. - """ - logging.info('Testing file %s using encoding %s', path, encoding) - try: - with open(path, mode='rt', encoding=encoding) as testfile: - text = testfile.read() - logging.info('TESTTEXT="%s", text read ="%s"\n', TESTTEXT, text) - if text == TESTTEXT: - logging.info( - 'testfile: %s testencoding: %s Read test: SUCCESS', - path, encoding) - else: - logging.info( - 'testfile: %s testencoding: %s Read test: ERROR', - path, encoding) - except UnicodeError: - logging.error("UTF-8 Conversion Test: UnicodeError") - -if __name__ == "__main__": - if sys.byteorder == 'little': - endianness = 'le' - else: - endianness = 'be' - testfiles = { - 'testfile.utf-8': 'utf-8', - 'testfile.utf-16': 'utf-16' + endianness, - 'testfile.utf-32': 'utf-32' + endianness, - } - for testfile in testfiles: - if os.path.isfile(testfile): - os.unlink(testfile) - create_testfiles() - for testfile in testfiles: - test(path=testfile, encoding=testfiles[testfile]) diff --git a/tests/libunistring-tests/main.fmf b/tests/libunistring-tests/main.fmf deleted file mode 100644 index 124f572..0000000 --- a/tests/libunistring-tests/main.fmf +++ /dev/null @@ -1,16 +0,0 @@ -summary: Functional test for the gettext module -contact: Pooja Yadav -component: -- python -require: -- gcc -- make -- libunistring -- libunistring-devel -test: bash runtest.sh -framework: beakerlib -recommend: -- python -duration: 5m -extra-summary: /CoreOS/python/libunistring-tests -extra-task: /CoreOS/python/libunistring-tests diff --git a/tests/libunistring-tests/runtest.sh b/tests/libunistring-tests/runtest.sh deleted file mode 100755 index 7c38158..0000000 --- a/tests/libunistring-tests/runtest.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /CoreOS/python/libunistring-tests -# Description: Functional tests for libunistring to check i18n features. -# Author: Pooja Yadav -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2010 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/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="libunistring" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "gcc test.c -lunistring -o test" - rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory" - rlRun "cp libunistring_test.py test $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlLog "Run libunistring_test.py" - rlRun "python libunistring_test.py" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd - diff --git a/tests/libunistring-tests/test.c b/tests/libunistring-tests/test.c deleted file mode 100644 index 8186ed8..0000000 --- a/tests/libunistring-tests/test.c +++ /dev/null @@ -1,38 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -int -main (int argc, char **argv) -{ - if (argc < 2) { - printf ("Usage: %s \n", argv[0]); - return 1; - } - - size_t len8, len16, len32; - - uint8_t *res8 = u8_conv_from_encoding ("UTF-8", iconveh_question_mark, argv[1], strlen (argv[1]), NULL, NULL, &len8); - uint16_t *res16 = u16_conv_from_encoding ("UTF-8", iconveh_question_mark, argv[1], strlen (argv[1]), NULL, NULL, &len16); - uint32_t *res32 = u32_conv_from_encoding ("UTF-8", iconveh_question_mark, argv[1], strlen (argv[1]), NULL, NULL, &len32); - - int fd = open ("testfile.utf-8", O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR); - for (int i = 0; i < len8; i++) - write (fd, &res8[i], sizeof (uint8_t)); - close (fd); - - fd = open ("testfile.utf-16", O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR); - for (int i = 0; i < len16; i++) - write (fd, &res16[i], sizeof (uint16_t)); - close (fd); - - fd = open ("testfile.utf-32", O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR); - for (int i = 0; i < len32; i++) - write (fd, &res32[i], sizeof (uint32_t)); - close (fd); -} -