rel-eng/packages/http-parser | 1 rel-eng/tito.props | 6 spec-tree/http-parser/build.py.props | 3 spec-tree/http-parser/http-parser-gyp-sharedlib.patch | 40 ++++ spec-tree/http-parser/http-parser.spec | 151 ++++++++++++++++++ 5 files changed, 198 insertions(+), 3 deletions(-)
New commits: commit 513000d2d08b1d76d8a344f2c30780217ad85d55 Author: Michael Mraka michael.mraka@redhat.com Date: Tue Nov 19 15:22:21 2013 +0100
Automatic commit of package [http-parser] minor release [2.0-4.20121128gitcd01361.1].
diff --git a/rel-eng/packages/http-parser b/rel-eng/packages/http-parser new file mode 100644 index 0000000..012899b --- /dev/null +++ b/rel-eng/packages/http-parser @@ -0,0 +1 @@ +2.0-4.20121128gitcd01361.1 spec-tree/http-parser/ diff --git a/spec-tree/http-parser/build.py.props b/spec-tree/http-parser/build.py.props new file mode 100644 index 0000000..8c63ded --- /dev/null +++ b/spec-tree/http-parser/build.py.props @@ -0,0 +1,3 @@ +[buildconfig] +tagger = tito.tagger.ReleaseTagger +builder = spacewalkx.builderx.NoTgzBuilder diff --git a/spec-tree/http-parser/http-parser.spec b/spec-tree/http-parser/http-parser.spec index 5d1cea7..6964831 100644 --- a/spec-tree/http-parser/http-parser.spec +++ b/spec-tree/http-parser/http-parser.spec @@ -8,7 +8,7 @@
Name: http-parser Version: %{somajor}.%{sominor} -Release: 4.%{git_date}git%{git_commit_hash}%{?dist} +Release: 4.%{git_date}git%{git_commit_hash}.1%{?dist} Summary: HTTP request/response parser for C
Group: System Environment/Libraries
commit 302a62d4e3021f184112712ca9b5d1f3a4afb08e Author: Michael Mraka michael.mraka@redhat.com Date: Tue Nov 19 15:21:31 2013 +0100
build http-parser only on RHEL5
diff --git a/rel-eng/tito.props b/rel-eng/tito.props index 325b839..af30945 100644 --- a/rel-eng/tito.props +++ b/rel-eng/tito.props @@ -14,12 +14,12 @@ blacklist=oracle-server-admin oracle-server-scripts rhnclient smartpm oracle-rhn
[spacewalk-nightly-rhel6] disttag = .el6 -blacklist=oracle-server-admin oracle-server-scripts rhnclient smartpm oracle-rhnsat-selinux jabberd-selinux apt-spacewalk python-hwdata spacewalk-oro-compat mod_perl nodejs-less nodejs scons v8 gyp +blacklist=oracle-server-admin oracle-server-scripts rhnclient smartpm oracle-rhnsat-selinux jabberd-selinux apt-spacewalk python-hwdata spacewalk-oro-compat mod_perl nodejs-less nodejs scons v8 gyp http-parser
[spacewalk-nightly-fedora18] disttag = .fc18 -blacklist=jabberd-selinux oracle-server-admin oracle-server-scripts rhnclient smartpm apt-spacewalk python-hwdata oracle-rhnsat-selinux mod_perl nodejs scons v8 gyp +blacklist=jabberd-selinux oracle-server-admin oracle-server-scripts rhnclient smartpm apt-spacewalk python-hwdata oracle-rhnsat-selinux mod_perl nodejs scons v8 gyp http-parser
[spacewalk-nightly-fedora19] disttag = .fc19 -blacklist=jabberd-selinux oracle-server-admin oracle-server-scripts rhnclient smartpm apt-spacewalk python-hwdata oracle-rhnsat-selinux mod_perl nodejs-less nodejs scons v8 gyp +blacklist=jabberd-selinux oracle-server-admin oracle-server-scripts rhnclient smartpm apt-spacewalk python-hwdata oracle-rhnsat-selinux mod_perl nodejs-less nodejs scons v8 gyp http-parser
commit c0c1c4b1ed6f0ff5f2c65d601aad11362d857f89 Author: Michael Mraka michael.mraka@redhat.com Date: Tue Nov 19 15:19:12 2013 +0100
http-parser is required by nodejs
diff --git a/spec-tree/http-parser/http-parser-gyp-sharedlib.patch b/spec-tree/http-parser/http-parser-gyp-sharedlib.patch new file mode 100644 index 0000000..3687b67 --- /dev/null +++ b/spec-tree/http-parser/http-parser-gyp-sharedlib.patch @@ -0,0 +1,40 @@ +--- http_parser.gyp~ 2012-11-27 15:40:11.721398004 -0700 ++++ http_parser.gyp 2012-11-27 15:40:11.721398004 -0700 +@@ -12,7 +12,7 @@ + # RuntimeLibrary MUST MATCH across the entire project + 'Debug': { + 'defines': [ 'DEBUG', '_DEBUG' ], +- 'cflags': [ '-Wall', '-Wextra', '-O0', '-g', '-ftrapv' ], ++ 'cflags': [ '-Wall', '-Wextra', '-g', '-ftrapv' ], + 'msvs_settings': { + 'VCCLCompilerTool': { + 'RuntimeLibrary': 1, # static debug +@@ -21,7 +21,7 @@ + }, + 'Release': { + 'defines': [ 'NDEBUG' ], +- 'cflags': [ '-Wall', '-Wextra', '-O3' ], ++ 'cflags': [ '-Wall', '-Wextra' ], + 'msvs_settings': { + 'VCCLCompilerTool': { + 'RuntimeLibrary': 0, # static release +@@ -50,7 +50,8 @@ + 'targets': [ + { + 'target_name': 'http_parser', +- 'type': 'static_library', ++ 'type': 'shared_library', ++ 'product_extension': 'so.2', + 'include_dirs': [ '.' ], + 'direct_dependent_settings': { + 'defines': [ 'HTTP_PARSER_STRICT=0' ], +@@ -73,7 +74,8 @@ + + { + 'target_name': 'http_parser_strict', +- 'type': 'static_library', ++ 'type': 'shared_library', ++ 'product_extension': 'so.2', + 'include_dirs': [ '.' ], + 'direct_dependent_settings': { + 'defines': [ 'HTTP_PARSER_STRICT=1' ], diff --git a/spec-tree/http-parser/http-parser.spec b/spec-tree/http-parser/http-parser.spec new file mode 100644 index 0000000..5d1cea7 --- /dev/null +++ b/spec-tree/http-parser/http-parser.spec @@ -0,0 +1,151 @@ +# we use the upstream version from http_parser.h as the SONAME +%global somajor 2 +%global sominor 0 + +%global git_date 20121128 +%global git_commit_hash cd01361 +%global github_seq 7 + +Name: http-parser +Version: %{somajor}.%{sominor} +Release: 4.%{git_date}git%{git_commit_hash}%{?dist} +Summary: HTTP request/response parser for C + +Group: System Environment/Libraries +License: MIT +URL: http://github.com/joyent/http-parser +# download from https://github.com/joyent/http-parser/tarball/%%%7Bversion%7D +Source0: joyent-http-parser-v%{version}-%{github_seq}-g%{git_commit_hash}.tar.gz +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) + +# Build shared library with SONAME using gyp and remove -O flags so optflags take over +# TODO: do this nicely upstream +Patch1: http-parser-gyp-sharedlib.patch + +BuildRequires: gyp + +%description +This is a parser for HTTP messages written in C. It parses both requests and +responses. The parser is designed to be used in performance HTTP applications. +It does not make any syscalls nor allocations, it does not buffer data, it can +be interrupted at anytime. Depending on your architecture, it only requires +about 40 bytes of data per message stream (in a web server that is per +connection). + + +%package devel +Group: Development/Libraries +Summary: Development headers and libraries for http-parser +Requires: %{name} = %{version}-%{release} + +%description devel +Development headers and libraries for http-parser. + + +%prep +%setup -q -n joyent-http-parser-%{git_commit_hash} +%patch1 + + +%build +# TODO: fix -fPIC upstream +export CFLAGS='%{optflags} -fPIC' +gyp -f make --depth=`pwd` http_parser.gyp +make %{?_smp_mflags} BUILDTYPE=Release + + +%install +rm -rf %{buildroot} + +install -d %{buildroot}%{_includedir} +install -d %{buildroot}%{_libdir} + +install -pm644 http_parser.h %{buildroot}%{_includedir} + +#install regular variant +install out/Release/lib.target/libhttp_parser.so.%{somajor} %{buildroot}%{_libdir}/libhttp_parser.so.%{somajor}.%{sominor} +ln -sf libhttp_parser.so.%{somajor}.%{sominor} %{buildroot}%{_libdir}/libhttp_parser.so.%{somajor} +ln -sf libhttp_parser.so.%{somajor}.%{sominor} %{buildroot}%{_libdir}/libhttp_parser.so + +#install strict variant +install out/Release/lib.target/libhttp_parser_strict.so.%{somajor} %{buildroot}%{_libdir}/libhttp_parser_strict.so.%{somajor}.%{sominor} +ln -sf libhttp_parser_strict.so.%{somajor}.%{sominor} %{buildroot}%{_libdir}/libhttp_parser_strict.so.%{somajor} +ln -sf libhttp_parser_strict.so.%{somajor}.%{sominor} %{buildroot}%{_libdir}/libhttp_parser_strict.so + + +%check +export LD_LIBRARY_PATH='./out/Release/lib.target' +./out/Release/test-nonstrict +./out/Release/test-strict + + +%clean +rm -rf %{buildroot} + + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + + +%files +%defattr(-,root,root,-) +%{_libdir}/libhttp_parser.so.* +%{_libdir}/libhttp_parser_strict.so.* +%doc AUTHORS CONTRIBUTIONS LICENSE-MIT README.md + + +%files devel +%defattr(-,root,root,-) +%{_includedir}/* +%{_libdir}/libhttp_parser.so +%{_libdir}/libhttp_parser_strict.so + + +%changelog +* Tue Apr 09 2013 Stephen Gallagher sgallagh@redhat.com - 2.0-4.20121128gitcd01361 +- Bumping revision for rebuild + +* Sun Dec 02 2012 T.C. Hollingsworth tchollingsworth@gmail.com - 2.0-3.20121128gitcd01361 +- latest git snapshot +- fixes buffer overflow in tests + +* Tue Nov 27 2012 T.C. Hollingsworth tchollingsworth@gmail.com - 2.0-2.20121110git245f6f0 +- latest git snapshot +- fixes tests +- use SMP make flags +- build as Release instead of Debug +- ship new strict variant + +* Sat Oct 13 2012 T.C. Hollingsworth tchollingsworth@gmail.com - 2.0-1 +- new upstream release 2.0 +- migrate to GYP buildsystem + +* Thu Jul 19 2012 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Aug 22 2011 T.C. Hollingsworth tchollingsworth@gmail.com - 1.0-1 +- New upstream release 1.0 +- Remove patches, no longer needed for nodejs +- Fix typo in -devel description +- use github tarball instead of checkout + +* Wed Feb 09 2011 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 0.3-6.20100911git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Jan 11 2011 Lubomir Rintel lkundrak@v3.sk - 0.3-5.20100911git +- Add support for methods used by node.js + +* Thu Nov 4 2010 Dan Horák <dan[at]danny.cz> - 0.3-4.20100911git +- build with -fsigned-char + +* Wed Sep 29 2010 jkeating - 0.3-3.20100911git +- Rebuilt for gcc bug 634757 + +* Mon Sep 20 2010 Lubomir Rintel lkundrak@v3.sk - 0.3-2.20100911git +- Call ldconfig (Peter Lemenkov) + +* Fri Sep 17 2010 Lubomir Rintel lkundrak@v3.sk - 0.3-1.20100911git +- Initial packaging
spacewalk-commits@lists.fedorahosted.org