From f4a46a62283d6f37797e2bf0f9f7027a12f9cd01 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Aug 01 2019 16:38:46 +0000 Subject: import libpaper-1.1.24-22.el8 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..05aeb80 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/libpaper_1.1.24+nmu4.tar.gz diff --git a/.libpaper.metadata b/.libpaper.metadata new file mode 100644 index 0000000..dbf384e --- /dev/null +++ b/.libpaper.metadata @@ -0,0 +1 @@ +830c7e5c0f77d4f8a314ba3ea93dfd954bdd3a4e SOURCES/libpaper_1.1.24+nmu4.tar.gz diff --git a/SOURCES/libpaper-covscan.patch b/SOURCES/libpaper-covscan.patch new file mode 100644 index 0000000..43d0794 --- /dev/null +++ b/SOURCES/libpaper-covscan.patch @@ -0,0 +1,16 @@ +diff --git a/lib/paper.c b/lib/paper.c +index 57db599..8817aea 100644 +--- a/lib/paper.c ++++ b/lib/paper.c +@@ -211,7 +211,10 @@ PAPERSIZEVAR, fall-back to the old behaviour. + fclose(ps); + + paperstr = malloc((strlen(papername) + 1) * sizeof(char)); +- if (! paperstr) return 0; ++ if (! paperstr) { ++ free(papername); ++ return 0; ++ } + + strcpy(paperstr, papername); + free(papername); diff --git a/SOURCES/libpaper-file-leak.patch b/SOURCES/libpaper-file-leak.patch new file mode 100644 index 0000000..47b878b --- /dev/null +++ b/SOURCES/libpaper-file-leak.patch @@ -0,0 +1,22 @@ +diff -up libpaper-1.1.24+nmu5/lib/paper.c.file-leak libpaper-1.1.24+nmu5/lib/paper.c +--- libpaper-1.1.24+nmu5/lib/paper.c.file-leak 2018-03-09 16:21:01.028345956 +0100 ++++ libpaper-1.1.24+nmu5/lib/paper.c 2018-03-09 16:40:57.824279357 +0100 +@@ -140,7 +140,7 @@ char* systempapername(void) { + char* paperstr; + char* paperenv; + const char* paperdef; +- FILE* ps; ++ FILE* ps = NULL; + struct stat statbuf; + const struct paper* pp; + int c; +@@ -224,6 +224,9 @@ PAPERSIZEVAR, fall-back to the old behav + } + } + ++ if (ps) ++ fclose(ps); ++ + paperdef = defaultpapername(); + paperstr = malloc((strlen(paperdef) + 1) * sizeof(char)); + diff --git a/SOURCES/libpaper-useglibcfallback.patch b/SOURCES/libpaper-useglibcfallback.patch new file mode 100644 index 0000000..1216055 --- /dev/null +++ b/SOURCES/libpaper-useglibcfallback.patch @@ -0,0 +1,80 @@ +diff -up libpaper-1.1.24+nmu3/lib/paper.c.useglibcfallback libpaper-1.1.24+nmu3/lib/paper.c +--- libpaper-1.1.24+nmu3/lib/paper.c.useglibcfallback 2010-04-24 08:12:11.000000000 -0400 ++++ libpaper-1.1.24+nmu3/lib/paper.c 2014-04-22 15:58:33.120039001 -0400 +@@ -20,6 +20,9 @@ + + #include + ++#include ++#include ++ + #include "paper.h" + + struct paper { +@@ -108,6 +111,27 @@ in PAPERCONFVAR, fall-back to the old be + } + + const char* defaultpapername(void) { ++#if defined(LC_PAPER) && defined(_GNU_SOURCE) ++ ++#define NL_PAPER_GET(x) \ ++ ((union { char *string; unsigned int word; })nl_langinfo(x)).word ++ ++#define PT_TO_MM(v) (unsigned int)((v * 2.54 * 10 / 72) + 0.5) ++ ++ const struct paper* pp; ++ ++ unsigned int w = NL_PAPER_GET(_NL_PAPER_WIDTH); ++ unsigned int h = NL_PAPER_GET(_NL_PAPER_HEIGHT); ++ ++ for (pp = paperfirst(); pp; pp = papernext(pp)) { ++ if ( ++ PT_TO_MM(pp->pswidth) == w && ++ PT_TO_MM(pp->psheight) == h ++ ) { ++ return pp->name; ++ } ++ } ++#endif + return PAPERSIZE; + } + +diff -up libpaper-1.1.24+nmu3/man/paperconf.1.in.useglibcfallback libpaper-1.1.24+nmu3/man/paperconf.1.in +--- libpaper-1.1.24+nmu3/man/paperconf.1.in.useglibcfallback 2014-04-22 15:58:33.121038995 -0400 ++++ libpaper-1.1.24+nmu3/man/paperconf.1.in 2014-04-22 16:00:15.973428376 -0400 +@@ -48,10 +48,12 @@ looking in order at the + .B @PAPERSIZEVAR@ + environment variable, at the contents of the file specified by the + .B @PAPERCONFVAR@ +-environment variable, at the contents of ++environment variable, at the contents of the file + .B @PAPERCONF@ +-or by using +-.B letter ++, consulting the values controlled by the ++.B LC_PAPER ++locale setting, or by using ++.B @PAPERSIZE@ + as a fall-back value if none of the other alternatives are successful. + By default, width and height of the paper are printed in PostScript points. + .SH OPTIONS +diff -up libpaper-1.1.24+nmu3/src/paperconf.c.useglibcfallback libpaper-1.1.24+nmu3/src/paperconf.c +--- libpaper-1.1.24+nmu3/src/paperconf.c.useglibcfallback 2012-05-03 15:05:12.000000000 -0400 ++++ libpaper-1.1.24+nmu3/src/paperconf.c 2014-04-22 15:58:33.121038995 -0400 +@@ -13,6 +13,7 @@ + #include + + #include ++#include + + + /* needed for GNU/Hurd */ +@@ -99,6 +100,8 @@ int main(int argc, char** argv) + + const char* progname; + ++ setlocale(LC_ALL, ""); ++ + progname = strrchr(*argv, '/'); + if (progname) { + ++progname; diff --git a/SPECS/libpaper.spec b/SPECS/libpaper.spec new file mode 100644 index 0000000..d21bb65 --- /dev/null +++ b/SPECS/libpaper.spec @@ -0,0 +1,213 @@ +%global nmu +nmu4 + +Name: libpaper +Version: 1.1.24 +Release: 22%{?dist} +Summary: Library and tools for handling papersize +License: GPLv2 +URL: http://packages.qa.debian.org/libp/libpaper.html +Source0: http://ftp.debian.org/debian/pool/main/libp/libpaper/%{name}_%{version}%{nmu}.tar.gz +# Filed upstream as: +# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=481213 +Patch2: libpaper-useglibcfallback.patch +# Memory leak +Patch3: libpaper-file-leak.patch +# 1606989 - Please review important issues found by covscan in "libpaper-1.1.24-21.el8+7" package +Patch4: libpaper-covscan.patch + +# gcc is no longer in buildroot by default +BuildRequires: gcc +BuildRequires: libtool, gettext, gawk + +%description +The paper library and accompanying files are intended to provide a +simple way for applications to take actions based on a system- or +user-specified paper size. This release is quite minimal, its purpose +being to provide really basic functions (obtaining the system paper name +and getting the height and width of a given kind of paper) that +applications can immediately integrate. + +%package devel +Summary: Headers/Libraries for developing programs that use libpaper +Requires: %{name} = %{version}-%{release} + +%description devel +This package contains headers and libraries that programmers will need +to develop applications which use libpaper. + +%prep +%setup -q -n %{name}-%{version}%{nmu} +%patch2 -p1 -b .useglibcfallback +%patch3 -p1 -b .file-leak +%patch4 -p1 -b .covscan +libtoolize + +%build +touch AUTHORS NEWS +aclocal +autoconf +automake -a +%configure --disable-static +# Disable rpath +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool +make %{?_smp_mflags} + +%install +make DESTDIR=$RPM_BUILD_ROOT install +rm $RPM_BUILD_ROOT%{_libdir}/*.la +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} +echo '# Simply write the paper name. See papersize(5) for possible values' > $RPM_BUILD_ROOT%{_sysconfdir}/papersize +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/libpaper.d +for i in cs da de es fr gl hu it ja nl pt_BR sv tr uk vi; do + mkdir -p $RPM_BUILD_ROOT%{_datadir}/locale/$i/LC_MESSAGES/; + msgfmt debian/po/$i.po -o $RPM_BUILD_ROOT%{_datadir}/locale/$i/LC_MESSAGES/%{name}.mo; +done +%find_lang %{name} + +%ldconfig_scriptlets + +%files -f %{name}.lang +%doc ChangeLog README +%license COPYING +%config(noreplace) %{_sysconfdir}/papersize +%dir %{_sysconfdir}/libpaper.d +%{_bindir}/paperconf +%{_libdir}/libpaper.so.1.1.2 +%{_libdir}/libpaper.so.1 +%{_sbindir}/paperconfig +%{_mandir}/man1/* +%{_mandir}/man5/* +%{_mandir}/man8/* + +%files devel +%{_includedir}/paper.h +%{_libdir}/libpaper.so +%{_mandir}/man3/* + +%changelog +* Mon Dec 03 2018 Zdenek Dohnal - 1.1.24-22 +- 1606989 - Please review important issues found by covscan in "libpaper-1.1.24-21.el8+7" package + +* Fri Mar 09 2018 Zdenek Dohnal - 1.1.24-21 +- remove nmu5 from .gitignore and sources +- fixed memory leak + +* Wed Feb 21 2018 Zdenek Dohnal - 1.1.24-20 +- gcc is no longer in buildroot by default + +* Thu Feb 08 2018 Zdenek Dohnal - 1.1.24-19 +- remove old stuff https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/MRWOMRZ6KPCV25EFHJ2O67BCCP3L4Y6N/ + +* Wed Feb 07 2018 Fedora Release Engineering - 1.1.24-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Feb 05 2018 Igor Gnatenko - 1.1.24-17 +- Switch to %%ldconfig_scriptlets + +* Thu Aug 03 2017 Fedora Release Engineering - 1.1.24-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.1.24-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.1.24-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Nov 11 2016 Zdenek Dohnal - 1.1.24-13 +- bump to nmu4 + +* Thu Feb 04 2016 Fedora Release Engineering - 1.1.24-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 1.1.24-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun Aug 17 2014 Fedora Release Engineering - 1.1.24-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.1.24-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat Aug 03 2013 Fedora Release Engineering - 1.1.24-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 1.1.24-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Jul 19 2012 Fedora Release Engineering - 1.1.24-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 1.1.24-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue May 17 2011 Tom Callaway - 1.1.24-3 +- bump to nmu1 + +* Tue Feb 08 2011 Fedora Release Engineering - 1.1.24-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sat Apr 24 2010 Tom "spot" Callaway - 1.1.24-1 +- update to 1.1.24 + +* Thu Mar 4 2010 Tom "spot" Callaway - 1.1.23-7 +- update to 1.1.23+nmu2 + +* Fri Jul 24 2009 Fedora Release Engineering - 1.1.23-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Feb 25 2009 Fedora Release Engineering - 1.1.23-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Feb 16 2009 Tom "spot" Callaway - 1.1.23-4 +- run libtoolize to fix build with newer libtool +- disable rpath + +* Fri Aug 22 2008 Tom "spot" Callaway - 1.1.23-3 +- update to nmu1 +- apply patch to fix imprecise definition of DL format +- apply patch so that when no config is present, libpaper will fallback through + LC_PAPER before giving up and using Letter + +* Tue Feb 19 2008 Fedora Release Engineering - 1.1.23-2 +- Autorebuild for GCC 4.3 + +* Tue Feb 19 2008 Tom "spot" Callaway 1.1.23-1 +- 1.1.23 + +* Fri Aug 24 2007 Tom "spot" Callaway 1.1.22-1.1 +- missing BR: gawk + +* Thu Aug 23 2007 Tom "spot" Callaway 1.1.22-1 +- bump, no real changes of note, rebuild for ppc32 +- license fix, v2 only + +* Mon Jul 09 2007 Tom "spot" Callaway 1.1.21-1.1 +- BR: libtool + +* Mon Jul 09 2007 Tom "spot" Callaway 1.1.21-1 +- bump to 1.1.21 +- fix automake bug (bz 247458) + +* Thu Oct 05 2006 Christian Iseli 1.1.20-5 + - rebuilt for unwind info generation, broken in gcc-4.1.1-21 + +* Sat Sep 23 2006 Tom "spot" Callaway 1.1.20-4 +- remove aclocal call + +* Sat Sep 23 2006 Tom "spot" Callaway 1.1.20-3 +- fix FC-4 with aclocal call +- move man3 pages to -devel +- don't set default, just put comment in conf file +- own /etc/libpaper.d +- use debian/NEWS +- include the meager translations +- use --disable-static + +* Sat Sep 23 2006 Tom "spot" Callaway 1.1.20-2 +- nuke static lib +- own /etc/papersize +- fix mixed spaces/tabs rpmlint warning + +* Sat Sep 23 2006 Tom "spot" Callaway 1.1.20-1 +- initial package for Fedora Extras