Package init

This commit is contained in:
dogsheng 2019-12-14 21:09:12 +08:00
parent b8f1d2b27d
commit d7032c219d
6 changed files with 151 additions and 75 deletions

View File

@ -1,36 +0,0 @@
# perl-XML-SAX
#### 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 @@
# perl-XML-SAX
#### 介绍
{**以下是码云平台说明,您可以替换此简介**
码云是 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/)

Binary file not shown.

14
generate-tarball.sh Normal file
View File

@ -0,0 +1,14 @@
#!/bin/sh
VERSION=$1
tar -xzvf XML-SAX-$VERSION.tar.gz
# xmltest.xml could not be distributed due to copyright
rm XML-SAX-$VERSION/testfiles/xmltest.xml
rm XML-SAX-$VERSION/t/16large.t
sed -i -e '/testfiles\/xmltest.xml/ d' XML-SAX-$VERSION/MANIFEST
sed -i -e '/t\/16large.t/ d' XML-SAX-$VERSION/MANIFEST
tar -czvf XML-SAX-$VERSION-nopatents.tar.gz XML-SAX-$VERSION

View File

@ -0,0 +1,42 @@
diff --git a/SAX/PurePerl.pm b/SAX/PurePerl.pm
--- a/SAX/PurePerl.pm 2006-04-24 01:20:09.000000000 +0200
+++ b/SAX/PurePerl.pm 2012-08-09 12:47:48.736728516 +0200
@@ -595,22 +595,23 @@ sub Comment {
my $data = $reader->data(4);
if ($data =~ /^<!--/) {
- $reader->move_along(4);
+ $reader->move_along(4); # skip comment start
+ $data = $reader->data;
+ while ($data !~ m!-->!) {
+ my $n = $reader->read_more;
+ $self->parser_error("End of data seen while looking for close comment marker", $reader)
+ unless $n;
+ $data = $reader->data;
+ }
+
my $comment_str = '';
- while (1) {
- my $data = $reader->data;
- $self->parser_error("End of data seen while looking for close comment marker", $reader)
- unless length($data);
- if ($data =~ /^(.*?)-->/s) {
- $comment_str .= $1;
- $self->parser_error("Invalid comment (dash)", $reader) if $comment_str =~ /-$/;
- $reader->move_along(length($1) + 3);
- last;
- }
- else {
- $comment_str .= $data;
- $reader->move_along(length($data));
- }
+ if ($data =~ /^(.*?)-->/s) {
+ $comment_str = $1;
+ $self->parser_error("Invalid comment (dash)", $reader) if $comment_str =~ /-$/;
+ $reader->move_along(length($1) + 3);
+ }
+ else {
+ return 0;
}
$self->comment({ Data => $comment_str });

95
perl-XML-SAX.spec Normal file
View File

@ -0,0 +1,95 @@
%global pdini_name %{perl_vendorlib}/XML/SAX/ParserDetails.ini
Summary: SAX parser access API for Perl
Name: perl-XML-SAX
Version: 1.00
Release: 5
License: GPL+ or Artistic
URL: https://metacpan.org/release/XML-SAX
Source0: XML-SAX-%{version}-nopatents.tar.gz
Source1: generate-tarball.sh
Patch0: perl-XML-SAX-0.99-rt20126.patch
BuildArch: noarch
BuildRequires: coreutils make perl-generators perl-interpreter
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 perl(File::Basename) perl(File::Spec)
# Run-time
BuildRequires: perl(Carp) perl(constant) perl(Encode) perl(Exporter) perl(File::Temp)
BuildRequires: perl(IO::File) perl(overload) perl(strict) perl(Symbol) perl(vars)
BuildRequires: perl(warnings) perl(XML::NamespaceSupport) >= 0.03
BuildRequires: perl(XML::SAX::Base) perl(XML::SAX::Exception)
# Test
BuildRequires: perl(base) perl(Fatal) perl(File::Path) perl(Test)
Requires: perl(:MODULE_COMPAT_%(perl -MConfig -e 'print $Config{version}'))
Recommends: perl(LWP::UserAgent)
# Remove bogus XML::SAX::PurePerl* dependencies and unversioned provides
%global __requires_exclude ^perl\\(XML::SAX::PurePerl
%global __provides_exclude ^perl\\(XML::SAX::PurePerl\\)$
%description
XML::SAX is a SAX parser access API for Perl. It includes classes and
APIs required for implementing SAX drivers, along with a factory class
for returning any SAX parser installed on the user's system.
%package_help
%prep
%autosetup -p1 -n XML-SAX-%{version}
%build
echo N | %{__perl} Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1
%make_build
%install
make pure_install DESTDIR=%{buildroot}
%{_fixperms} %{buildroot}/*
touch %{buildroot}%{pdini_name}
%check
make test
%post
if [ ! -f "%{pdini_name}" ] ; then
perl -MXML::SAX -e \
'XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()' 2>/dev/null || :
else
cp -p "%{pdini_name}" "%{pdini_name}.backup"
fi
%triggerun -- perl-XML-LibXML < 1.58-8
if [ -f "%{pdini_name}.backup" ] ; then
mv "%{pdini_name}.backup" "%{pdini_name}"
fi
%preun
if [ $1 -eq 0 ] ; then
perl -MXML::SAX -e \
'XML::SAX->remove_parser(q(XML::SAX::PurePerl))->save_parsers()' || :
fi
[ -f "%{pdini_name}.backup" ] && \
rm -rf "%{pdini_name}.backup" || :
%files
%license LICENSE
%dir %{perl_vendorlib}/XML/
%{perl_vendorlib}/XML/SAX.pm
%dir %{perl_vendorlib}/XML/SAX/
%{perl_vendorlib}/XML/SAX/*.pm
%doc %{perl_vendorlib}/XML/SAX/*.pod
%{perl_vendorlib}/XML/SAX/PurePerl/
%ghost %{perl_vendorlib}/XML/SAX/ParserDetails.ini
%files help
%doc Changes README
%{_mandir}/man3/XML::*.3pm*
%changelog
* Tue Nov 19 2019 mengxian <mengxian@huawei.com> - 1.00-5
- Package init