openEuler init

This commit is contained in:
catastrowings 2019-12-13 10:13:47 +08:00
parent 56b749c62d
commit f7b83db2f6
6 changed files with 257 additions and 75 deletions

View File

@ -1,36 +0,0 @@
# qpdf
#### Description
{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}
#### Software Architecture
Software architecture description
#### Installation
1. xxxx
2. xxxx
3. xxxx
#### Instructions
1. xxxx
2. xxxx
3. xxxx
#### Contribution
1. Fork the repository
2. Create Feat_xxx branch
3. Commit your code
4. Create Pull Request
#### Gitee Feature
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
4. The most valuable open source project [GVP](https://gitee.com/gvp)
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

View File

@ -1,39 +0,0 @@
# qpdf
#### 介绍
{**以下是码云平台说明,您可以替换此简介**
码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN。专为开发者提供稳定、高效、安全的云端软件开发协作平台
无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}
#### 软件架构
软件架构说明
#### 安装教程
1. xxxx
2. xxxx
3. xxxx
#### 使用说明
1. xxxx
2. xxxx
3. xxxx
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 码云特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

BIN
qpdf-8.4.2.tar.gz Normal file

Binary file not shown.

30
qpdf-doc.patch Normal file
View File

@ -0,0 +1,30 @@
diff -up qpdf-8.2.1/manual/fix-qdf.1.in.doc qpdf-8.2.1/manual/fix-qdf.1.in
--- qpdf-8.2.1/manual/fix-qdf.1.in.doc 2018-08-18 16:56:19.000000000 +0200
+++ qpdf-8.2.1/manual/fix-qdf.1.in 2018-09-24 14:24:26.340341484 +0200
@@ -14,5 +14,4 @@ the same file with stream lengths, cross
object stream offset tables regenerated.
.PP
For details about fix-qdf and about PDF files in QDF mode, please see
-the qpdf manual, which can be found in @docdir@/qpdf-manual.html or
-@docdir@/qpdf-manual.pdf.
+the qpdf manual, which can be found in qpdf-doc package.
diff -up qpdf-8.2.1/manual/qpdf.1.in.doc qpdf-8.2.1/manual/qpdf.1.in
--- qpdf-8.2.1/manual/qpdf.1.in.doc 2018-09-24 14:24:26.340341484 +0200
+++ qpdf-8.2.1/manual/qpdf.1.in 2018-09-24 14:26:18.171462618 +0200
@@ -16,4 +16,4 @@ useful primarily to PDF developers.
.PP
For a summary of qpdf's options, please run
\fBqpdf \-\-help\fR. A complete manual can be found in
-@docdir@/qpdf-manual.html or @docdir@/qpdf-manual.pdf.
+qpdf-doc package.
diff -up qpdf-8.2.1/manual/zlib-flate.1.in.doc qpdf-8.2.1/manual/zlib-flate.1.in
--- qpdf-8.2.1/manual/zlib-flate.1.in.doc 2018-08-18 16:56:19.000000000 +0200
+++ qpdf-8.2.1/manual/zlib-flate.1.in 2018-09-24 14:24:26.340341484 +0200
@@ -21,6 +21,6 @@ This program should not be used as a gen
tool. Use something like gzip(1) instead.
.PP
For details about qpdf, please see the qpdf manual, which can be found
-in @docdir@/qpdf-manual.html or @docdir@/qpdf-manual.pdf.
+in qpdf-doc package.
.SH "SEE ALSO"
qpdf(1), gzip(1)

View File

@ -0,0 +1,142 @@
diff -up qpdf-8.1.0/examples/qtest/filter-tokens.test.erase-tests-with-generated-object-stream qpdf-8.1.0/examples/qtest/filter-tokens.test
--- qpdf-8.1.0/examples/qtest/filter-tokens.test.erase-tests-with-generated-object-stream 2018-06-26 16:25:29.028242814 +0200
+++ qpdf-8.1.0/examples/qtest/filter-tokens.test 2018-06-26 16:27:17.456366872 +0200
@@ -13,8 +13,4 @@ $td->runtest("filter tokens",
{$td->COMMAND => "pdf-filter-tokens in.pdf a.pdf"},
{$td->STRING => "", $td->EXIT_STATUS => 0});
-$td->runtest("check output",
- {$td->FILE => "a.pdf"},
- {$td->FILE => "out.pdf"});
-
-$td->report(2);
+$td->report(1);
diff -up qpdf-8.1.0/examples/qtest/invert-images.test.erase-tests-with-generated-object-stream qpdf-8.1.0/examples/qtest/invert-images.test
--- qpdf-8.1.0/examples/qtest/invert-images.test.erase-tests-with-generated-object-stream 2018-06-23 13:50:11.000000000 +0200
+++ qpdf-8.1.0/examples/qtest/invert-images.test 2018-06-26 16:25:15.832347910 +0200
@@ -19,13 +19,13 @@ $td->runtest("double page size",
$td->EXIT_STATUS => 0},
$td->NORMALIZE_NEWLINES);
-$td->runtest("check output",
- {$td->FILE => "a.pdf"},
- {$td->FILE => "out.pdf"});
+#$td->runtest("check output",
+# {$td->FILE => "a.pdf"},
+# {$td->FILE => "out.pdf"});
cleanup();
-$td->report(2);
+$td->report(1);
sub cleanup
{
diff -up qpdf-8.1.0/examples/qtest/set-form-values.test.erase-tests-with-generated-object-stream qpdf-8.1.0/examples/qtest/set-form-values.test
--- qpdf-8.1.0/examples/qtest/set-form-values.test.erase-tests-with-generated-object-stream 2018-06-26 16:25:24.971275053 +0200
+++ qpdf-8.1.0/examples/qtest/set-form-values.test 2018-06-26 16:27:26.641291590 +0200
@@ -14,13 +14,10 @@ cleanup();
$td->runtest("set form values",
{$td->COMMAND => "pdf-set-form-values form-in.pdf a.pdf soup"},
{$td->STRING => "", $td->EXIT_STATUS => 0});
-$td->runtest("compare files",
- {$td->FILE => "a.pdf"},
- {$td->FILE => "form-out.pdf"});
cleanup();
-$td->report(2);
+$td->report(1);
sub cleanup
{
diff -up qpdf-8.1.0/libqpdf/qpdf-c.cc.erase-tests-with-generated-object-stream qpdf-8.1.0/libqpdf/qpdf-c.cc
--- qpdf-8.1.0/libqpdf/qpdf-c.cc.erase-tests-with-generated-object-stream 2018-06-23 13:50:11.000000000 +0200
+++ qpdf-8.1.0/libqpdf/qpdf-c.cc 2018-06-26 16:25:15.832347910 +0200
@@ -302,7 +302,6 @@ QPDF_ERROR_CODE qpdf_read_memory(qpdf_da
qpdf->size = size;
qpdf->password = password;
status = trap_errors(qpdf, &call_read_memory);
- QTC::TC("qpdf", "qpdf-c called qpdf_read_memory", status);
return status;
}
@@ -515,7 +514,6 @@ unsigned char const* qpdf_get_buffer(qpd
void qpdf_set_object_stream_mode(qpdf_data qpdf, qpdf_object_stream_e mode)
{
- QTC::TC("qpdf", "qpdf-c called qpdf_set_object_stream_mode");
qpdf->qpdf_writer->setObjectStreamMode(mode);
}
diff -up qpdf-8.1.0/libqpdf/QPDFWriter.cc.erase-tests-with-generated-object-stream qpdf-8.1.0/libqpdf/QPDFWriter.cc
--- qpdf-8.1.0/libqpdf/QPDFWriter.cc.erase-tests-with-generated-object-stream 2018-06-23 13:50:11.000000000 +0200
+++ qpdf-8.1.0/libqpdf/QPDFWriter.cc 2018-06-26 16:25:15.833347901 +0200
@@ -3221,8 +3221,6 @@ QPDFWriter::writeLinearized()
{
if (this->m->deterministic_id)
{
- QTC::TC("qpdf", "QPDFWriter linearized deterministic ID",
- need_xref_stream ? 0 : 1);
computeDeterministicIDData();
popPipelineStack();
assert(this->m->md5_pipeline == 0);
@@ -3426,8 +3424,6 @@ QPDFWriter::writeStandard()
if (this->m->deterministic_id)
{
- QTC::TC("qpdf", "QPDFWriter standard deterministic ID",
- this->m->object_stream_to_objects.empty() ? 0 : 1);
popPipelineStack();
assert(this->m->md5_pipeline == 0);
}
diff -up qpdf-8.1.0/qpdf/qpdf.testcov.erase-tests-with-generated-object-stream qpdf-8.1.0/qpdf/qpdf.testcov
--- qpdf-8.1.0/qpdf/qpdf.testcov.erase-tests-with-generated-object-stream 2018-06-23 13:50:11.000000000 +0200
+++ qpdf-8.1.0/qpdf/qpdf.testcov 2018-06-26 16:25:15.833347901 +0200
@@ -126,7 +126,6 @@ qpdf-c called qpdf_get_user_password 0
qpdf-c called qpdf_is_linearized 0
qpdf-c called qpdf_is_encrypted 0
qpdf-c called qpdf_init_write 3
-qpdf-c called qpdf_set_object_stream_mode 0
qpdf-c called qpdf_set_stream_data_mode 0
qpdf-c called qpdf_set_content_normalization 0
qpdf-c called qpdf_set_qdf_mode 0
@@ -180,7 +179,6 @@ QPDFObjectHandle append page contents 0
QPDF_Stream getRawStreamData 0
QPDF_Stream getStreamData 0
QPDF_Stream expand filter abbreviation 0
-qpdf-c called qpdf_read_memory 0
QPDF stream without newline 0
QPDF stream with CR only 0
QPDF stream with CRNL 0
@@ -264,8 +262,6 @@ qpdf pages range omitted at end 0
qpdf pages range omitted in middle 0
qpdf npages 0
QPDF already reserved object 0
-QPDFWriter standard deterministic ID 1
-QPDFWriter linearized deterministic ID 1
QPDFWriter deterministic with no data 0
qpdf-c called qpdf_set_deterministic_ID 0
QPDFObjectHandle indirect with 0 objid 0
diff -up qpdf-8.1.0/qpdf/qtest/qpdf.test.erase-tests-with-generated-object-stream qpdf-8.1.0/qpdf/qtest/qpdf.test
--- qpdf-8.1.0/qpdf/qtest/qpdf.test.erase-tests-with-generated-object-stream 2018-06-23 13:50:11.000000000 +0200
+++ qpdf-8.1.0/qpdf/qtest/qpdf.test 2018-06-26 16:25:15.834347893 +0200
@@ -1713,7 +1713,6 @@ my @capi = (
[3, 'normalized content'],
[4, 'ignore xref streams'],
[5, 'linearized'],
- [6, 'object streams'],
[7, 'qdf'],
[8, 'no original object ids'],
[9, 'uncompressed streams'],
@@ -1757,8 +1756,8 @@ $td->runtest("write damaged",
show_ntests();
# ----------
$td->notify("--- Deterministic ID Tests ---");
-$n_tests += 11;
-foreach my $d ('nn', 'ny', 'yn', 'yy')
+$n_tests += 7;
+foreach my $d ('nn', 'yn')
{
my $linearize = ($d =~ m/^y/);
my $ostream = ($d =~ m/y$/);

85
qpdf.spec Normal file
View File

@ -0,0 +1,85 @@
Name: qpdf
Version: 8.2.1
Release: 2
Summary: A command-line program to transform PDF files
License: (Artistic 2.0 or ASL 2.0) and MIT
URL: http://qpdf.sourceforge.net/
Source0: http://downloads.sourceforge.net/sourceforge/qpdf/qpdf-%{version}.tar.gz
Patch0000: qpdf-doc.patch
%ifarch aarch64
Patch0001: qpdf-erase-tests-with-generated-object-stream.patch
%endif
BuildRequires: gcc gcc-c++ zlib-devel libjpeg-turbo-devel pcre-devel
BuildRequires: perl-interpreter perl-generators perl(Digest::MD5)
BuildRequires: autoconf automake libtool
Provides: %{name}-libs = %{version}-%{release}
Obsoletes: %{name}-libs < %{version}-%{release}
%description
QPDF is a command-line program that does structural, content-preserving transformations
on PDF files. It could have been called something like pdf-to-pdf. It also provides many
useful capabilities to developers of PDF-producing software or for people who just want
to look at the innards of a PDF file to learn more about how they work.
%package devel
Summary: Development package for %{name}
Requires: %{name} = %{version}-%{release}
%description devel
This package contains some header and library files for the development of %{name}.
%package help
Summary: Help package for %{name}
BuildArch: noarch
Provides: %{name}-doc = %{version}-%{release}
Obsoletes: %{name}-doc < %{version}-%{release}
%description help
This package contains some man help and other files for %{name}.
%prep
%autosetup -p1
sed -i '1c#!/usr/bin/perl' qpdf/fix-qdf
%build
autoreconf --verbose --force --install
%configure --disable-static --enable-show-failed-test-output
%make_build
%install
%make_install
%delete_la
%check
make check
%post -p /usr/sbin/ldconfig
%postun -p /usr/sbin/ldconfig
%files
%doc README.md TODO ChangeLog
%license Artistic-2.0
%{_bindir}/*
%{_libdir}/libqpdf.so.*
%files devel
%doc examples/*.cc examples/*.c
%{_includedir}/qpdf/
%{_libdir}/libqpdf.so
%{_libdir}/pkgconfig/libqpdf.pc
%files help
%{_pkgdocdir}
%{_mandir}/man1/*
%changelog
* Wed Dec 11 2019 catastrowings <jianghuhao1994@163.com> - 8.2.1-2
- openEuler init