Compare commits

..

1 commit

Author SHA1 Message Date
Robert Scheck
98ae9c2167 Import libunistring-0.9.3-5.el6.src.rpm 2017-02-03 14:38:14 +01:00
15 changed files with 98 additions and 338 deletions

0
.cvsignore Normal file
View file

View file

@ -1 +0,0 @@
1

9
.gitignore vendored
View file

@ -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

View file

@ -0,0 +1,45 @@
From 157da9e2421d3db15b9fa2f832d650b64818accc Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgallagh@redhat.com>
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

View file

@ -1,3 +0,0 @@
# libunistring
This project conatains libunistring i18n testcases

127
changelog
View file

@ -1,127 +0,0 @@
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sun Jan 23 2022 Daiki Ueno <dueno@redhat.com> - 1.0-1
- Update to upstream 1.0 release
- Switch to %%autosetup
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.10-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.10-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Jun 21 2021 Mike FABIAN <mfabian@redhat.com> - 0.9.10-13
- Related rhbz#1938800: Fix CI tests and convert them to tmt
* Mon Jun 14 2021 Mike FABIAN <mfabian@redhat.com> - 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 <releng@fedoraproject.org> - 0.9.10-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.10-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 13 2020 Tom Stellard <tstellar@redhat.com> - 0.9.10-8
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.10-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.10-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.10-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Jul 31 2018 Florian Weimer <fweimer@redhat.com> - 0.9.10-4
- Rebuild with fixed binutils
* Sat Jul 28 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.9.10-3
- Replace obsolete scriptlets
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon May 28 2018 Daiki Ueno <dueno@redhat.com> - 0.9.10-1
- Update to upstream 0.9.10 release
* Thu Mar 01 2018 Daiki Ueno <dueno@redhat.com> - 0.9.9-1
- Update to upstream 0.9.9 release
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.9.8-2
- Switch to %%ldconfig_scriptlets
* Sat Dec 2 2017 Daiki Ueno <dueno@redhat.com> - 0.9.8-1
- Update to 0.9.8
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 17 2017 Daiki Ueno <dueno@redhat.com> - 0.9.7-1
- Update to 0.9.7
- Update license to "GPLv2+ or LGPLv2+"
* Wed Feb 01 2017 Stephen Gallagher <sgallagh@redhat.com> - 0.9.4-4
- Add missing %%license macro
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Tue Sep 02 2014 Pádraig Brady <pbrady@redhat.com> - 0.9.4-1
- Latest upstream
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.3-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.3-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Thu Aug 29 2013 Pádraig Brady <P@draigBrady.com> 0.9.3-9
- Adjust to avoid duplicate docs caused by %%doc macro changes in Fedora 20
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.3-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.3-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Tue Jun 26 2012 Akira TAGOH <tagoh@redhat.com> - 0.9.3-5
- Fix a typo in %%preun. (#737638)
* Tue May 15 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 0.9.3-4
- Add bundled(gnulib) provides
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Sun May 23 2010 Pádraig Brady <P@draigBrady.com> 0.9.3-1
- Update to 0.9.3
* Thu Nov 19 2009 Pádraig Brady <P@draigBrady.com> 0.9.1-3
- Remove glibc-devel and texinfo build deps
* Thu Nov 19 2009 Pádraig Brady <P@draigBrady.com> 0.9.1-2
- Changes as per initial review by panemade@gmail.com
* Tue Nov 17 2009 Pádraig Brady <P@draigBrady.com> 0.9.1-1
- Initial version

View file

@ -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 <sgallagh@redhat.com> - 0.9.3-5
- Resolves: rhbz#732017 - Malloc without NULL check
* Mon Sep 12 2011 Stephen Gallagher <sgallagh@redhat.com> - 0.9.3-4
- Resolves: rhbz#737592 - %%preun error while uninstalling libunistring-devel
* Tue Aug 02 2011 Stephen Gallagher <sgallagh@redhat.com> - 0.9.3-3
- Imported from Fedora
- Resolves: rhbz#726463 - Add libunistring as a separate component/package
into RHEL

View file

@ -1,5 +0,0 @@
summary: Basic smoke test
discover:
how: fmf
execute:
how: tmt

View file

@ -1 +1 @@
SHA512 (libunistring-1.1.tar.xz) = 01a4267bbd301ea5c389b17ee918ae5b7d645da8b2c6c6f0f004ff2dead9f8e50cda2c6047358890a5fceadc8820ffc5154879193b9bb8970f3fb1fea1f411d6
SHA512 (libunistring-0.9.3.tar.gz) = 351c0c94c4a31efbed932978ff8afae4defd7c28771d2d877b5ead5383a4f1b53200ece72b6908a9bafb7836775b2af3465e051226e43520ada2b8c583314d12

View file

@ -1,3 +0,0 @@
# libunistring
This project conatains libunistring i18n testcases

View file

@ -1,2 +0,0 @@
test
testfile.utf*

View file

@ -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 <uniconv.h> 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])

View file

@ -1,16 +0,0 @@
summary: Functional test for the gettext module
contact: Pooja Yadav <poyadav@redhat.com>
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

View file

@ -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 <poyadav@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# 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

View file

@ -1,38 +0,0 @@
#include <stdio.h>
#include <uniconv.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <unistd.h>
int
main (int argc, char **argv)
{
if (argc < 2) {
printf ("Usage: %s <a string>\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);
}