update to v2

This commit is contained in:
Tom Callaway 2023-01-08 20:38:23 -05:00
parent d6d612d39e
commit 026d9c0417
5 changed files with 125 additions and 48 deletions

1
.gitignore vendored
View File

@ -3,3 +3,4 @@ libpaper_1.1.24.tar.gz
/libpaper_1.1.24+nmu3.tar.gz /libpaper_1.1.24+nmu3.tar.gz
/libpaper_1.1.24+nmu4.tar.gz /libpaper_1.1.24+nmu4.tar.gz
/libpaper_1.1.28.tar.gz /libpaper_1.1.28.tar.gz
/libpaper-2.0.4.tar.gz

View File

@ -0,0 +1,12 @@
diff -up libpaper-2.0.4/configure.ac.duplicate-fix libpaper-2.0.4/configure.ac
--- libpaper-2.0.4/configure.ac.duplicate-fix 2023-01-08 00:30:33.008254489 -0500
+++ libpaper-2.0.4/configure.ac 2023-01-08 00:30:38.938302181 -0500
@@ -78,8 +78,6 @@ esac
AC_MSG_RESULT([$native_win32])
AM_CONDITIONAL(OS_WIN32, test "x$native_win32" = "xyes")
-AM_CONDITIONAL([SHLIBS_IN_BINDIR], [case "$host_os" in mingw* | cygwin*) true;; *) false;; esac])
-
dnl Relocation support
AM_CONDITIONAL([SHLIBS_IN_BINDIR],
[case "$host_os" in mingw* | cygwin*) true;; *) false;; esac])

View File

@ -1,22 +1,17 @@
#%%global nmu +nmu4
Name: libpaper Name: libpaper
Version: 1.1.28 Version: 2.0.4
Release: 5%{?dist} Release: 1%{?dist}
# Needed to replace separate paper package
Epoch: 1
Summary: Library and tools for handling papersize Summary: Library and tools for handling papersize
License: GPLv2 License: LGPL-2.1-or-later
URL: http://packages.qa.debian.org/libp/libpaper.html URL: https://github.com/rrthomas/libpaper/
Source0: http://ftp.debian.org/debian/pool/main/libp/libpaper/%{name}_%{version}.tar.gz Source0: https://github.com/rrthomas/libpaper/archive/v%{version}/%{name}-%{version}.tar.gz
# Pulled from paper
Source1: localepaper.c
# Filed upstream as:
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=481213
Patch2: libpaper-useglibcfallback.patch
# Memory leak
Patch3: libpaper-file-leak.patch
# memory leak found by covscan, reported to debian upstream
#Patch4: libpaper-covscan.patch
# https://github.com/rrthomas/libpaper/commit/3e591f80af62f335a67f6bb446fdaf9fa07650bc
Patch0: libpaper-2.0.4-configure-duplicate-fix.patch
# gcc is no longer in buildroot by default # gcc is no longer in buildroot by default
BuildRequires: gcc BuildRequires: gcc
@ -24,73 +19,98 @@ BuildRequires: gcc
BuildRequires: git-core BuildRequires: git-core
# uses make # uses make
BuildRequires: make BuildRequires: make
BuildRequires: libtool, gettext, gawk BuildRequires: libtool, gettext, gawk, autoconf, automake
BuildRequires: help2man, tar, gnupg2, perl-interpreter, gnulib-devel
%description %description
The paper library and accompanying files are intended to provide a The libpaper package enables users to indicate their preferred paper
simple way for applications to take actions based on a system- or size and specifies system-wide and per-user paper size catalogues, which can
user-specified paper size. This release is quite minimal, its purpose also be used directly (see paperspecs(5)).
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 %package devel
Summary: Headers/Libraries for developing programs that use libpaper Summary: Headers/Libraries for developing programs that use libpaper
Requires: %{name} = %{version}-%{release} Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
%description devel %description devel
This package contains headers and libraries that programmers will need This package contains headers and libraries that programmers will need
to develop applications which use libpaper. to develop applications which use libpaper.
%package -n paper
Summary: Print paper size information
Requires: %{name}%{?_isa} = %{version}-%{release}
# This is licensed differently from libpaper.
# paper.c is GPL-3.0-or-later
# localepaper.c is FSFAP (except it is missing the warranty disclaimer... but the intent is clear)
License: GPL-3.0-or-later AND FSFAP
%description -n paper
The paper(1) utility can be used to find the user's preferred
default paper size and give information about known sizes.
%prep %prep
%autosetup -S git %autosetup -S git
libtoolize cp %{SOURCE1} src/
sed -i 's|gnulib_tool=$gnulib_path/gnulib-tool|gnulib_tool=%{_bindir}/gnulib-tool|g' bootstrap
sed -i 's|./gnulib/gnulib-tool|%{_bindir}/gnulib-tool|g' bootstrap.conf
sed -i '/doc\/INSTALL/d' bootstrap
./bootstrap --gnulib-srcdir=%{_datadir}/gnulib/ --skip-git
%build %build
touch AUTHORS NEWS
aclocal
autoheader
autoconf
automake -a
%configure --disable-static %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_build %make_build
# localepaper
pushd src
%{__cc} %{optflags} -I.. -Ilibgnu -o localepaper localepaper.c libgnu/.libs/libgnupaper.a
popd
%check
# No upstream tests
echo "Testing localepaper tool"
locale width height > expected
./src/localepaper | tr ' ' "\n" > got
diff -u expected got
# No real way to test the paper tool
%install %install
%make_install %make_install
rm $RPM_BUILD_ROOT%{_libdir}/*.la rm $RPM_BUILD_ROOT%{_libdir}/*.la
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
echo '# Simply write the paper name. See papersize(5) for possible values' > $RPM_BUILD_ROOT%{_sysconfdir}/papersize # maybe someday the translations will return
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/libpaper.d %if 0
for i in cs da de es fr gl hu it ja nl pt_BR sv tr uk vi; do 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/; 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; msgfmt debian/po/$i.po -o $RPM_BUILD_ROOT%{_datadir}/locale/$i/LC_MESSAGES/%{name}.mo;
done done
%find_lang %{name} %find_lang %{name}
%endif
mkdir %{buildroot}%{_libexecdir}
install -m0755 src/localepaper %{buildroot}%{_libexecdir}
%ldconfig_scriptlets %ldconfig_scriptlets
%files -f %{name}.lang %files
%doc ChangeLog README %doc ChangeLog README
%license COPYING %license COPYING
%config(noreplace) %{_sysconfdir}/papersize %{_libdir}/libpaper.so.*
%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 %files devel
%{_includedir}/paper.h %{_includedir}/paper.h
%{_libdir}/libpaper.so %{_libdir}/libpaper.so
%{_mandir}/man3/*
%files -n paper
%config(noreplace) %{_sysconfdir}/paperspecs
%{_bindir}/paper
%{_libexecdir}/localepaper
%{_mandir}/man1/*
%{_mandir}/man5/*
%changelog %changelog
* Sun Jan 8 2023 Tom Callaway <spot@fedoraproject.org> - 2.0.4-1
- update to 2.0.4
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.28-5 * Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.28-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

44
localepaper.c Normal file
View File

@ -0,0 +1,44 @@
/*
* localepaper: print the dimensions in mm of the current locale's
* paper size, if possible.
*
* Based on a patch by Caolan McNamara:
* http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=481213
*
* Copyright (C) Reuben Thomas <rrt@sc3d.org>, 2013.
*
* Copying and distribution of this file, with or without modification,
* are permitted in any medium without royalty provided the copyright
* notice and this notice are preserved.
*/
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#if defined LC_PAPER && defined _GNU_SOURCE
#include <langinfo.h>
#endif
#include "progname.h"
int main(int argc, char *argv[])
{
set_program_name(argv[0]);
argc = argc; /* Avoid a compiler warning. */
#if defined LC_PAPER && defined _GNU_SOURCE
setlocale(LC_ALL, "");
#define NL_PAPER_GET(x) \
((union { char *string; unsigned word; })nl_langinfo(x)).word
printf("%d %d\n", NL_PAPER_GET(_NL_PAPER_WIDTH), NL_PAPER_GET(_NL_PAPER_HEIGHT));
return EXIT_SUCCESS;
#else
printf("%s: locale paper size information is not supported on this system", program_name);
return EXIT_FAILURE;
#endif
}

View File

@ -1 +1 @@
SHA512 (libpaper_1.1.28.tar.gz) = 3bf6ebb0af89931d2f72ea4a09a7fa958b2facda5f238983ec7bac39652e08614b33f0de3af74a03457b2a4203eee4950bf18a4b726e79aa64093ace6a1fb0bc SHA512 (libpaper-2.0.4.tar.gz) = 7c66100c4617e1cba6670c40ebc5287a07700e669a959961a1c7b19da5abc2df8c99a0dffddad055899ad6af050ff2a84607f5a5584ad0f761b95ef13955dd82