import from review #1331937

This commit is contained in:
Remi Collet 2016-05-18 07:20:06 +02:00
commit c90ae81e22
6 changed files with 178 additions and 0 deletions

1
.gitignore vendored
View file

@ -0,0 +1 @@
/php-composer-ca-bundle-1.0.2-a2995e5.tgz

27
makesrc.sh Executable file
View file

@ -0,0 +1,27 @@
#!/bin/bash
NAME=$(sed -n '/^Name:/{s/.* //;p}' *.spec)
OWNER=$(sed -n '/^%global gh_owner/{s/.* //;p}' $NAME.spec)
PROJECT=$(sed -n '/^%global gh_project/{s/.* //;p}' $NAME.spec)
VERSION=$(sed -n '/^Version:/{s/.* //;p}' $NAME.spec)
COMMIT=$(sed -n '/^%global gh_commit/{s/.* //;p}' $NAME.spec)
SHORT=${COMMIT:0:7}
echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION\n"
echo "Cloning..."
git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT
echo "Getting commit..."
pushd $PROJECT-$COMMIT
git checkout $COMMIT
cp composer.json ../composer-$VERSION.json
popd
echo "Archiving..."
tar czf $NAME-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT
echo "Cleaning..."
rm -rf $PROJECT-$COMMIT
echo "Done."

View file

@ -0,0 +1,15 @@
<?php
/* Autoloader for composer/ca-bundle and its dependencies */
$vendorDir = '/usr/share/php';
// Use Symfony autoloader
if (!isset($fedoraClassLoader) || !($fedoraClassLoader instanceof \Symfony\Component\ClassLoader\ClassLoader)) {
if (!class_exists('Symfony\\Component\\ClassLoader\\ClassLoader', false)) {
require_once $vendorDir . '/Symfony/Component/ClassLoader/ClassLoader.php';
}
$fedoraClassLoader = new \Symfony\Component\ClassLoader\ClassLoader();
$fedoraClassLoader->register();
}
$fedoraClassLoader->addPrefix('Composer\\CaBundle\\', dirname(dirname(__DIR__)));

View file

@ -0,0 +1,12 @@
diff -up src/CaBundle.php.rpm src/CaBundle.php
--- src/CaBundle.php.rpm 2016-04-30 09:44:06.624946839 +0200
+++ src/CaBundle.php 2016-04-30 09:44:37.576088602 +0200
@@ -129,7 +129,7 @@ class CaBundle
*/
public static function getBundledCaBundlePath()
{
- return __DIR__.'/../res/cacert.pem';
+ return '/etc/pki/tls/certs/ca-bundle.crt'; // System CA, always
}
/**

122
php-composer-ca-bundle.spec Normal file
View file

@ -0,0 +1,122 @@
# remirepo/fedora spec file for php-composer-ca-bundle
#
# Copyright (c) 2016 Remi Collet
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
#
%global gh_commit a2995e5fe351055f2c7630166af12ce8fd03edfc
%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
%global gh_owner composer
%global gh_project ca-bundle
%global php_home %{_datadir}/php
%global with_tests 0%{!?_without_tests:1}
Name: php-composer-ca-bundle
Version: 1.0.2
Release: 1%{?dist}
Summary: Lets you find a path to the system CA
Group: Development/Libraries
License: MIT
URL: https://github.com/%{gh_owner}/%{gh_project}
# git snapshot to get everything, despite .gitattributes
Source0: %{name}-%{version}-%{gh_short}.tgz
Source1: makesrc.sh
Source2: %{name}-autoload.php
# Never bundle a CA file
Patch0: %{name}-rpm.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
%if %{with_tests}
# For tests
BuildRequires: php(language) >= 5.3.2
BuildRequires: php-openssl
BuildRequires: php-pcre
BuildRequires: php-cli
# Autoloader
BuildRequires: php-composer(symfony/class-loader)
# ca-certificates
BuildRequires: %{_sysconfdir}/pki/tls/certs/ca-bundle.crt
%endif
# From composer.json, "require": {
# "php": "^5.3.2 || ^7.0"
Requires: php(language) >= 5.3.2
# From phpcompatinfo report for version 1.0.2
Requires: php-openssl
Requires: php-pcre
# Autoloader
Requires: php-composer(symfony/class-loader)
# ca-certificates
Requires: %{_sysconfdir}/pki/tls/certs/ca-bundle.crt
Provides: php-composer(%{gh_owner}/%{gh_project}) = %{version}
%description
Small utility library that lets you find a path to the system CA bundle.
%prep
%setup -q -n %{gh_project}-%{gh_commit}
cp %{SOURCE2} src/autoload.php
%patch0 -p0 -b .rpm
find src -name \*.rpm -exec rm {} \;
%build
# Empty build section, most likely nothing required.
%install
rm -rf %{buildroot}
: Library
mkdir -p %{buildroot}%{php_home}/Composer/
cp -pr src %{buildroot}%{php_home}/Composer/CaBundle
%check
%if %{with_tests}
php -r '
use Composer\CaBundle\CaBundle as CA;
require "%{buildroot}%{php_home}/Composer/CaBundle/autoload.php";
$file = CA::getSystemCaRootBundlePath();
if ($file != "/etc/pki/tls/certs/ca-bundle.crt") {
echo "Unexpected $file\n";
exit(1);
}
if (!CA::validateCaFile($file)) {
echo "Cannot validate $file\n";
exit(1);
}
'
%else
: Test suite disabled
%endif
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{!?_licensedir:%global license %%doc}
%license LICENSE
%doc composer.json
%doc *.md
%dir %{php_home}/Composer
%{php_home}/Composer/CaBundle
%changelog
* Sat Apr 30 2016 Remi Collet <remi@fedoraproject.org> - 1.0.2-1
- initial package, version 1.0.2

View file

@ -0,0 +1 @@
ea6b9651560975dd2f3018f9fd5a1013 php-composer-ca-bundle-1.0.2-a2995e5.tgz