Moving PHP from SPECS-EXTENDED to SPECS (#3820)

* Only build bond against x86_64 architecture (#1800) (#1801)

* fix bond build break for ARM64 on main branch

* fix bond build break for ARM64 on main branch

* fix bond build break for ARM64 on main branch

Co-authored-by: nicolas guibourge <nicolasg@microsoft.com>

Co-authored-by: nicolas guibourge <nicolasg@microsoft.com>

* [main extended] Enable libguestfs (#1970)

* Remove libreport support from mdadm

* Conditionally pull in perl-Sys-Virt test deps

* Fix dependency resolution for ocaml-ctypes

* Upgrade to latest ocaml-gettext

* Fix ocaml-ounit build

* Upgrade ocaml-base to latest

* Upgrade ocaml-migrate-parsetree to latest

* Upgrade ocaml-stdio to 0.15.0

* Upgrade ocaml-parsexp to 0.15.0

* Upgrade ocaml-ppxlib to 0.24.0

* Upgrade ocaml-sexplib to 0.15.0

* Upgrade ocaml-sexplib0 to 0.15.0

* Upgrade supermin to 5.2.1

* Fixup libguestfs patches and configuration

* [main extended] Fix dnf-plugins-core, ocaml-findlib builds (#1950)

* [main] Removing in-spec sources verification using `libguestfs.keyring`. (#1971)

* kernel: Update Mariner cert in kernel keyring (#1979)

* kernel: Update mariner cert in kernel keyring

* kernel-hyperv: Update mariner cert in kernel keyring

* kernel-headers: Bump to match kernel release number

* kernel-signed: Bump to match kernel release

Signed-off-by: Chris Co <chrco@microsoft.com>

* lttng-consume: disable tests to fix build break (#1980)

Signed-off-by: Muhammad Falak R Wani <falakreyaz@gmail.com>

* Revert "Upgrading Parted to v3.4" (#1966)

* Revert "Upgrading Parted to v3.4 (#1898)"

This reverts commit 24382cfa6e.

* verifying license to unblock upgrade revert pr

* Temporary: Add python3-distro to azurevm-packages packagelist (#2016)

* Upgrade libmemcached, memcached and promote to core specs (#1981)

* kernel-signed: workaround errant .build-id file (#2032)

After the upgrade to RPM 4.17, when building on ARM64 only, we are
observing an unexpected /usr/lib/debug/.build-id/xx/yyyy.debug
file being packaged into the kernel.rpm package. This errant file is causing
build errors when repackaging in the kernel-signed build phase.

This patch workarounds the build issue by specifically excluding the
/usr/lib/debug/.build-id folder when building for ARM64. More investigation
underway to identify why this unexpect /usr/lib/debug/.build-id/xx/yyyy.debug
file is being included.

Signed-off-by: Chris Co <chrco@microsoft.com>

* Fix grubby build with newer versions of RPM (#2036)

* Update libgit2 to latest upstream version 1.1.0 (#2021)

Signed-off-by: Kate Goldenring <kagold@microsoft.com>

* Fix build break (signature) for libgit2

* Fix TDNF download of packages during libguestfs build

* Replace perl(Locale::TextDomain) BR in libguestfs with actual package

* [main] Fixing tooling issues during package candidates resolution. (#2091)

* Fix dependency constraints, UUID parsing in libguestfs (#2113)

* Bring over libguestfs changes from 2.0

* Fix selinux-policy, file bugs in libguestfs

* kernel: Update input aarch64 config file (#2358)

ARM64 kernel package builds are failing due to a config diff missing
between the expected config and the actual config file.

Add missing CONFIG_USBIP_VUDC line

Signed-off-by: Chris Co <chrco@microsoft.com>

* Revert "[main] Update envoy to v1.21.0 (#2330)"

This reverts commit 5c0c47a867.

* toolkit only - use local /run folder in chroot instead of mounted tmpfs (#2435)

* toolkit - use local /run folder in chroot instead of mounted tmpfs

* address PR comments

* address PR comments

* address PR comments

Co-authored-by: Nicolas Guibourge <nicolasg@microsoft.com>

* [main] iperf3: Update to 3.11 (#2512)

* Update iperf3 to 3.11

* toolchain: Remove alsa-lib (#2543)

* Fix post-install script args in imageconfig being ignored (#2414)

* Upgrade nodejs to 16.14.0 (#2485)

* upgrade nodejs to 16.14.0

* upgrade nodejs to 16.14.0

* upgrade nodejs to 16.14.0

* upgrade nodejs

Co-authored-by: Nicolas Guibourge <nicolasg@microsoft.com>

* [main] upgrading libarchive to v3.6.0 (#2515)

* upgrading libarchive to v3.6.0

* removing patch file

* adding missing URL

* fixing URL

* [2.0] Modify pam to require audit-libs (#2572)

* update pam

* update manifests

* install audit-libs before systemd (#2584)

* Revert "install audit-libs before systemd (#2584)"

This reverts commit 2170975852.

* Build rubygems with ruby to fix build error in pipeline (#2601)

* Add rubygems to build with ruby to fix build error in pipeline

* Remove bundler requirement

* [main] Adding `--assumeyes` for TDNF calls. (#2641) (#2642)

* Fix bad ruby merge issue

* Revert "python3: Add python-unversioned-command subpackage (#2637)"

This reverts commit b62bb32bef.

* dnf-plugins-core: Fix bad python path in cmake call (#2658)

* dnf-plugins-core: Fix bad python path in cmake call

* Update license map

* Empty commit to trigger GH checks

* Unblock build, exclude SymCrypt from ARM64

* Update python requirement in azurevm packagelist for 2.0 (#2667)

* Revert "Unblock build, exclude SymCrypt from ARM64"

This reverts commit 9b0a48fc52.

* Repair toolkit merge issue

* fix boringssl license issue (#2775)

* revert arm64 exclusion workaround (#2769)

* [main] Build break workaround. (#2788)

* Revert "fix boringssl license issue (#2775)"

This reverts commit 50b3397168.

* Remove boringssl to reconcile with main branch

* [main] Fixing installation paths with new version of Ruby. (#2859)

* vim: Fix vi provides with reversed EVR (#2872)

* cri-o: Replace openSUSE systemd macros with Mariner's (#2874)

* toolchain: Rebuild audit with systemd-bootstrap-rpm-macros installed (#2878)

* toolchain: Rebuild audit with systemd-bootstrap-rpm-macros installed
* audit: Add BR on systemd-bootstrap-rpm-macros

* [2.0] Cherry-pick credscan failure caused by unattended installer image config (#2908)

* minor fix to build doc (#2907)

Co-authored-by: Henry Li <lihl@microsoft.com>

* fix image config json (#2906)

Co-authored-by: Henry Li <lihl@microsoft.com>

Co-authored-by: Henry Li <lihl@microsoft.com>

* download msopenjdk-11 from prod folder (#2921)

* Cherry Pick build fixes to Extended (#3105)

* ARM64 `buildah` and `edk2` blocked packages fix. (#3101)

* Adding missing signature for `perl-Module-Install-Repository`. (#3086)

Co-authored-by: Pawel Winogrodzki <pawelwi@microsoft.com>

* Python-twisted: upgrade to version 22.4.0 to fix CVE-2022-24801 (#3079)

* python-twisted upgrade to 22.4.0 to fix CVE-2022-24801

* python-twisted upgrade to 22.4.0 to fix CVE-2022-24801

* python-twisted upgrade to 22.4.0 to fix CVE-2022-24801

* python-twisted upgrade to 22.4.0 to fix CVE-2022-24801

Co-authored-by: Nicolas Guibourge <nicolasg@microsoft.com>

* upgrading vim to 8.2.4979 for CVE-2022-1619, CVE-2022-1621, CVE-2022-… (#3087)

* upgrading vim to 8.2.4979 for CVE-2022-1619, CVE-2022-1621, CVE-2022-1629, CVE-2022-1616, CVE-2022-1733, CVE-2022-1735, CVE-2022-1769, CVE-2022-1620, CVE-2022-1674, CVE-2022-1771, CVE-2022-1785, CVE-2022-1796

* upgrading vim to 8.2.4979 for CVE-2022-1619, CVE-2022-1621, CVE-2022-1629, CVE-2022-1616, CVE-2022-1733, CVE-2022-1735, CVE-2022-1769, CVE-2022-1620, CVE-2022-1674, CVE-2022-1771, CVE-2022-1785, CVE-2022-1796

* upgrading vim to 8.2.4979 for CVE-2022-1619, CVE-2022-1621, CVE-2022-1629, CVE-2022-1616, CVE-2022-1733, CVE-2022-1735, CVE-2022-1769, CVE-2022-1620, CVE-2022-1674, CVE-2022-1771, CVE-2022-1785, CVE-2022-1796

Co-authored-by: Nicolas Guibourge <nicolasg@microsoft.com>

* Updating `vim` to version 8.2.5064. (#3112)

* Bump Mariner Release (#3140)

* Revert "Add missing e2fsprogs dep to cloud-init (#3141)"

This reverts commit 7417d8a04f.
Reverting this change temporarily because we are not ready to upgrade cloud-init

* Revert "cloud-init: uprev to 22.2 (#3104)"

This reverts commit 3bcdc43b8f.
Reverting this change temporarily because we are not ready to upgrade cloud-init.

* Fix build errors caused by ncurses 6.3 upgrade (#3184)

* Fix ARM64 Build Break (#3191)

* t1lib: Fix SRPM packing (#3192)

* Revert "cloud-init: patch for CVE-2022-2084 (#3281)"

This reverts commit e3174308e7.

* Revert "Revert "cloud-init: uprev to 22.2 (#3104)""

This reverts commit ae3a7d80af.

* Revert "Revert "Add missing e2fsprogs dep to cloud-init (#3141)""

This reverts commit 68bd0ec8d7.

* Revert "Revert "cloud-init: patch for CVE-2022-2084 (#3281)""

This reverts commit 0b1ba723bc.

* Revert "Initial KeysInUse Integration (#3182)"

This reverts commit 7de96f680a.

* Updating 'mariner-release' version for July update 2. (#3444)

* remove provides from unsigned grub2 (#3461)

Co-authored-by: Henry Li <lihl@microsoft.com>

* Updating 'mariner-release' for the August release.

* Updating licenses after the 'main' merge.

* KeysInUse: re-introduce package back to 2.0. (#3531)

* Update helm version 3.9.3 (#3586)

* Update helm version 3.9.3

* Fix helm version info not displaying correctly

* fix cloud-init dependency issue (#3606)

* `mariadb`: update to v10.6.9 to fix CVE-2022-32091, CVE-2022-32081 (#3645)

* fix npm version in nodejs.spec (#3571)

* upgrade vim to 9.0.0232 (#3580)

* qemu : fix CVE-2022-35414 (#3597)

* qemu : fix CVE-2022-35414

* address PR comment

Co-authored-by: Nicolas Guibourge <nicolasg@microsoft.com>

* libxml2 and python-lxml: fix CVE-2022-2309 (#3583)

* libxml2 and python-lxml: fix CVE-2022-2309

* libxml2 and python-lxml: fix CVE-2022-2309

* address PR comments

Co-authored-by: Nicolas Guibourge <nicolasg@microsoft.com>

* rubygem-yajl-ruby: fix CVE 2022 24795 (#3598)

* rubygem-yajl-ruby : fix CVE-2022-24795

* rubygem-yajl-ruby : fix CVE-2022-24795

* back port patch from 1.4.1

* fix spec issue

* address PR comments

Co-authored-by: Nicolas Guibourge <nicolasg@microsoft.com>

* Update cert-manager to v1.7.3. (#3575)

- Update cert-manager to v1.7.3.
- Split cert-manager binaries into separate packages.
- Remove cert-manager build dependency on Bazel and just build the
binaries directly using `go build`. This makes building easier. Also,
the latest upstream version of cert-manager does this.
- Use the Go "vendor" directory for Go dependencies instead of dumping
files in the global Go cache.

* Bump supported go versions to 1.17.13, 1.18.5 to fix fifteen CVEs (#3600)

Co-authored-by: Pawel Winogrodzki <pawelwi@microsoft.com>

* dpkd: bump version to 21.11.2 to address CVE-2022-2132 (#3631)

* dpkd: bump version to 21.11.2 to address CVE-2022-2132
* dpdk: cgmanifest: update entry

Signed-off-by: Muhammad Falak R Wani <falakreyaz@gmail.com>

* `vim`: upgrade to 9.0.0325 to fix CVE-2022-2980, CVE-2022-2982, CVE-2022-2923, CVE-2022-2946 (#3643)

* `python3`: fix CVE-2015-20107 (#3644)

* `python3`: fix CVE-2021-28861 (#3654)

* `colord`: fix CVE-2021-42523 (#3675)

* `virglrenderer`: fix CVE-2022-0135 (#3674)

* libtar: Pull misc Fedora patches, fix CVE-2021-33643, CVE-2021-33644, CVE-2021-33645, CVE-2021-33646 (#3686)

* Apply Fedora patches

* Apply linter

* Use upstream patch

* Patch qemu CVE-2021-4158 (#3696)

* libtar: Fixup spec formatting, remove .la files, remove explicit provides (#3698)

* Fixup libtar spec formatting, .la files, provides

* Add comment so we can track CVE fixes

* update mariner-release to 2.0-19 (#3723)

* fix br in libvirt (#3726)

* Added nopatch to libtirpc for CVE-2021-46828 (#3779)

Co-authored-by: Nick Samson <nisamson@microsoft.com>

* update mariner-release to 2.0-21 (#3778)

* revert changes for adding sysinit.target dependency (#3777)

* Expat fix CVE-2022-40674 (#3799)

Co-authored-by: Betty Lakes <bettylakes@microsoft.com>

* bump mariner-release to 2.0-21

* switching branches

* Ensure rpm-* ABI compatibility (#3880)

* Ensure `python3-rpm` pulls in appropriate libs
* Add rpm-build-libs -> rpm-libs dependency too
* Declare release `4.18.0-2` with fixes

* toolkit.mk: fix 'clean-rpms-snapshot' target. (#3843)

* 7.4.14 to 8.1.11; need to delete the old SPECS-EXTENDED folders

* php 8.1.11 build now

* removed libraries from SPECS-EXTENDED

* merged current 2.0; added changelog for php & updated other licenses; need to verify changelog for php & version thing olivia said

* update cgmanifest.json

* reresolving old mr comments

* updated hunspell to fix CVE; added aspell patch to fix CVE; fixed some PHP linting issues

* one linting fix

* removed commented-out modphp code; updated changelog

* debugging url issues

* trying 2sec timeout instead of 1sec

* echoing to txt log

* undoing validate-cg-manifests.sh changes; trying new url

* resolving mr comments

* updating malaga in cgmanifest

* trying source-git's mirror

* trying with local tarball

* trying with local tarball

* using blob storage

* Delete bad_registrations.txt

* updating tokyocabinet url

* changing branches

* resolving conflicts with upstream/main

* mr comments

* updating cgmanifest

* actually fixing validate_cg_manifest.sh

* Delete php-8.1.11.tar.xz.asc

* Delete php-keyring.gpg

Signed-off-by: Chris Co <chrco@microsoft.com>
Signed-off-by: Muhammad Falak R Wani <falakreyaz@gmail.com>
Signed-off-by: Kate Goldenring <kagold@microsoft.com>
Co-authored-by: nicolas guibourge <nicogbg@gmail.com>
Co-authored-by: nicolas guibourge <nicolasg@microsoft.com>
Co-authored-by: Jon Slobodzian <joslobo@microsoft.com>
Co-authored-by: Thomas Crain <thcrain@microsoft.com>
Co-authored-by: Pawel Winogrodzki <pawelwi@microsoft.com>
Co-authored-by: Christopher Co <35273088+christopherco@users.noreply.github.com>
Co-authored-by: Muhammad Falak R Wani <falakreyaz@gmail.com>
Co-authored-by: Max Brodeur-Urbas <35381493+MaxBrodeurUrbas@users.noreply.github.com>
Co-authored-by: Kate Goldenring <kate.goldenring@microsoft.com>
Co-authored-by: rlmenge <rachelmenge@microsoft.com>
Co-authored-by: Vince Perri <5596945+vinceaperri@users.noreply.github.com>
Co-authored-by: Andrew Phelps <anphel31@users.noreply.github.com>
Co-authored-by: Neha Agarwal <58672330+neha170@users.noreply.github.com>
Co-authored-by: Olivia Crain <olivia@olivia.dev>
Co-authored-by: Henry Li <69694695+henryli001@users.noreply.github.com>
Co-authored-by: Henry Li <lihl@microsoft.com>
Co-authored-by: CBL-Mariner Servicing Account <cblmargh@microsoft.com>
Co-authored-by: chalamalasetty <42326515+chalamalasetty@users.noreply.github.com>
Co-authored-by: Nan Liu <108544011+liunan-ms@users.noreply.github.com>
Co-authored-by: Henry Beberman <henry.beberman@microsoft.com>
Co-authored-by: Cameron E Baird <cameronbaird@microsoft.com>
Co-authored-by: Chris Gunn <chrisgun@microsoft.com>
Co-authored-by: Daniel McIlvaney <damcilva@microsoft.com>
Co-authored-by: Nick Samson <nick.samson@microsoft.com>
Co-authored-by: Nick Samson <nisamson@microsoft.com>
Co-authored-by: Minghe Ren <mingheren@microsoft.com>
Co-authored-by: Betty <38226164+BettyRain@users.noreply.github.com>
Co-authored-by: Betty Lakes <bettylakes@microsoft.com>
Co-authored-by: Andrew Phelps <anphel@microsoft.com>
Co-authored-by: Andy Caldwell <andycaldwell@microsoft.com>
This commit is contained in:
osamaesmailmsft 2022-10-12 16:00:03 -07:00 коммит произвёл GitHub
Родитель e37c7d8dee
Коммит 27bd1a6ab2
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
117 изменённых файлов: 1627 добавлений и 1857 удалений

2
.github/workflows/validate-cg-manifest.sh поставляемый
Просмотреть файл

@ -154,7 +154,7 @@ do
# Parsing output instead of using error codes because 'wget' returns code 8 for FTP, even if the file exists.
# Sample HTTP(S) output: Remote file exists.
# Sample FTP output: File time-1.9.tar.gz exists.
if ! wget --spider --timeout=1 --tries=10 "${manifesturl}" 2>&1 | grep -qP "^(Remote file|File .*) exists\.$"
if ! wget --spider --timeout=1 --tries=10 "${manifesturl}" 2>&1 | grep -qP "^(Remote file|File .*) exists.*"
then
echo "Registration for $name:$version has invalid URL '$manifesturl' (could not download)" >> bad_registrations.txt
fi

Просмотреть файл

@ -1,25 +0,0 @@
From ac938e2ecb48ab4dd21298126c7921689d60571b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Tue, 12 Nov 2019 20:03:15 +0000
Subject: [PATCH] invalid read memory access #624
---
src/hunspell/suggestmgr.cxx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hunspell/suggestmgr.cxx b/src/hunspell/suggestmgr.cxx
index dba084e..c23f165 100644
--- a/src/hunspell/suggestmgr.cxx
+++ b/src/hunspell/suggestmgr.cxx
@@ -2040,7 +2040,7 @@ int SuggestMgr::leftcommonsubstring(
int l2 = su2.size();
// decapitalize dictionary word
if (complexprefixes) {
- if (su1[l1 - 1] == su2[l2 - 1])
+ if (l1 && l2 && su1[l1 - 1] == su2[l2 - 1])
return 1;
} else {
unsigned short idx = su2.empty() ? 0 : (su2[0].h << 8) + su2[0].l;
--
2.23.0

Просмотреть файл

@ -1,24 +0,0 @@
diff -urN a/hunspell-1.7.0/src/tools/hunspell.cxx b/hunspell-1.7.0/src/tools/hunspell.cxx
--- a/hunspell-1.7.0/src/tools/hunspell.cxx 2022-06-22 17:41:40.025754800 -0700
+++ b/hunspell-1.7.0/src/tools/hunspell.cxx 2022-06-27 16:35:13.916216700 -0700
@@ -581,7 +581,7 @@
#ifdef HAVE_CURSES_H
char* scanline(char* message) {
char input[INPUTLEN];
- printw(message);
+ printw("%c",message);
echo();
getnstr(input, INPUTLEN);
noecho();
@@ -1180,9 +1180,9 @@
mvprintw(MAXPREVLINE + 2, 0, "\n");
for (size_t i = 0; i < wlst.size(); ++i) {
if ((wlst.size() > 10) && (i < 10)) {
- printw(" 0%d: %s\n", i, chenc(wlst[i], io_enc, ui_enc).c_str());
+ printw(" 0%zu: %s\n", i, chenc(wlst[i], io_enc, ui_enc).c_str());
} else {
- printw(" %d: %s\n", i, chenc(wlst[i], io_enc, ui_enc).c_str());
+ printw(" %u: %s\n", i, chenc(wlst[i], io_enc, ui_enc).c_str());
}
}

Просмотреть файл

@ -1,5 +0,0 @@
{
"Signatures": {
"hunspell-1.7.0.tar.gz": "bb27b86eb910a8285407cf3ca33b62643a02798cf2eef468c0a74f6c3ee6bc8a"
}
}

Просмотреть файл

@ -1,23 +0,0 @@
--- a/ext/date/tests/bug66985.phpt 2014-10-30 07:32:03.297693403 +0100
+++ b/ext/date/tests/bug66985.phpt 2014-10-30 07:32:45.138877977 +0100
@@ -3,7 +3,7 @@
--FILE--
<?php
$zones = array(
- "CST6CDT", "Cuba", "Egypt", "Eire", "EST5EDT", "Factory", "GB-Eire",
+ "CST6CDT", "Cuba", "Egypt", "Eire", "EST5EDT", "GB-Eire",
"GMT0", "Greenwich", "Hongkong", "Iceland", "Iran", "Israel", "Jamaica",
"Japan", "Kwajalein", "Libya", "MST7MDT", "Navajo", "NZ-CHAT", "Poland",
"Portugal", "PST8PDT", "Singapore", "Turkey", "Universal", "W-SU",
@@ -45,11 +45,6 @@
)
DateTimeZone Object
(
- [timezone_type] => 3
- [timezone] => Factory
-)
-DateTimeZone Object
-(
[timezone_type] => 3
[timezone] => GB-Eire
)

Просмотреть файл

@ -1,56 +0,0 @@
From b3646440b1808abf0874b6f89027ce53ec5da03f Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@php.net>
Date: Mon, 13 Sep 2021 14:48:13 +0200
Subject: [PATCH] Don't rely on libgd unused constants
---
ext/gd/gd.c | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/ext/gd/gd.c b/ext/gd/gd.c
index 3480699a..5368c2d4 100644
--- a/ext/gd/gd.c
+++ b/ext/gd/gd.c
@@ -81,6 +81,11 @@ static int le_gd, le_gd_font;
#define M_PI 3.14159265358979323846
#endif
+/* don't used libgd constants, not used, so going to be removed */
+#define PHP_GD_FLIP_HORIZONTAL 1
+#define PHP_GD_FLIP_VERTICAL 2
+#define PHP_GD_FLIP_BOTH 3
+
#ifdef HAVE_GD_FREETYPE
static void php_imagettftext_common(INTERNAL_FUNCTION_PARAMETERS, int, int);
#endif
@@ -1127,9 +1132,9 @@ PHP_MINIT_FUNCTION(gd)
/* GD2 image format types */
REGISTER_LONG_CONSTANT("IMG_GD2_RAW", GD2_FMT_RAW, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_GD2_COMPRESSED", GD2_FMT_COMPRESSED, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("IMG_FLIP_HORIZONTAL", GD_FLIP_HORINZONTAL, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("IMG_FLIP_VERTICAL", GD_FLIP_VERTICAL, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("IMG_FLIP_BOTH", GD_FLIP_BOTH, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("IMG_FLIP_HORIZONTAL", PHP_GD_FLIP_HORIZONTAL, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("IMG_FLIP_VERTICAL", PHP_GD_FLIP_VERTICAL, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("IMG_FLIP_BOTH", PHP_GD_FLIP_BOTH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_EFFECT_REPLACE", gdEffectReplace, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_EFFECT_ALPHABLEND", gdEffectAlphaBlend, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_EFFECT_NORMAL", gdEffectNormal, CONST_CS | CONST_PERSISTENT);
@@ -4686,15 +4691,15 @@ PHP_FUNCTION(imageflip)
}
switch (mode) {
- case GD_FLIP_VERTICAL:
+ case PHP_GD_FLIP_VERTICAL:
gdImageFlipVertical(im);
break;
- case GD_FLIP_HORINZONTAL:
+ case PHP_GD_FLIP_HORIZONTAL:
gdImageFlipHorizontal(im);
break;
- case GD_FLIP_BOTH:
+ case PHP_GD_FLIP_BOTH:
gdImageFlipBoth(im);
break;

Просмотреть файл

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEWlKIB4H3VWCL+BX8kQ3rRvU+oxIFAl/0Q78ACgkQkQ3rRvU+
oxKR2BAAq2058Q3ZKFKt3H2tB77Q+TZLUMIYdgtem3gZyfh2/UwzKxwUus3/iN68
ad2txzdP9SimmW2eXkvc+PAOKgacTXenc7pioJVIfnXvE7GHrLQVq/dHBOZ+S3cH
0gOgA9Mu2ZGcPRYeDRIba+JR3t6QnblqxrKAMnCq7nCtYQt+S8ADD/exkLGOm7li
1qf2uLqIpi6cp7SYGJZYWEwoxBso5OUZ1jbCb7O2llxgEqeYIBd+4fY0RVLjtnzx
6sJLFp44pkh3WERaeZr8NAdqa2JGCvX1cj43R+TP8X9VF97RM+34EmhsFcp88wMq
Xcm/GMZWx8LVLyqNNPWKJ4BvzxNY0+lop9M4URASZR0Vowx3shLVOSUfwx6251Xg
riyPdWxkhSl2aqwn+IKfIKEVzinkvH+dzy/ujeVgA24aZkmyAk19Zs7R8jdBKl0F
fsw69PNoXlALobVV1gyr0Mi5/Q24rFialzm5uOFtDHmGt4DNSIVw9Z2x0qny8732
rnTY4Vo1CtQobNLtoneoiGh5t3+TJDNY3Ip7CD2mJ+B/IULlTv9h4thQKJvvANea
SuqlKpq94hy68mYN0Jl1mBYcRRL5V40Tu+iDP1mSYjEFajEEcRuCl3fClMvERzHa
cAloXVJg72C4WaYUNi6FKsJFwIt1eqvBE28Sb3YYcyDTGeAZoPw=
=IrGd
-----END PGP SIGNATURE-----

Просмотреть файл

@ -1,76 +0,0 @@
Drop "Configure Command" from phpinfo as it doesn't
provide any useful information.
The available extensions are not related to this command.
diff -up a/ext/standard/info.c.phpinfo v/ext/standard/info.c
--- a/ext/standard/info.c.phpinfo 2015-08-18 23:39:24.000000000 +0200
+++ b/ext/standard/info.c 2015-08-22 07:56:18.344761928 +0200
@@ -809,9 +809,6 @@ PHPAPI void php_print_info(int flag)
#ifdef ARCHITECTURE
php_info_print_table_row(2, "Architecture", ARCHITECTURE);
#endif
-#ifdef CONFIGURE_COMMAND
- php_info_print_table_row(2, "Configure Command", CONFIGURE_COMMAND );
-#endif
if (sapi_module.pretty_name) {
php_info_print_table_row(2, "Server API", sapi_module.pretty_name );
diff -up a/ext/standard/tests/general_functions/phpinfo.phpt.phpinfo b/ext/standard/tests/general_functions/phpinfo.phpt
--- a/ext/standard/tests/general_functions/phpinfo.phpt.phpinfo 2015-08-18 23:39:22.000000000 +0200
+++ b/ext/standard/tests/general_functions/phpinfo.phpt 2015-08-22 07:56:18.344761928 +0200
@@ -20,7 +20,6 @@ PHP Version => %s
System => %s
Build Date => %s%a
-Configure Command => %s
Server API => Command Line Interface
Virtual Directory Support => %s
Configuration File (php.ini) Path => %s
Backported from 8.0:
From ad0d2e438fddc089917e71e5d8909d145db9da8a Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Fri, 3 Jul 2020 10:08:09 +0200
Subject: [PATCH] display info about system used to build and its provider
---
configure.ac | 5 +++++
ext/standard/info.c | 6 ++++++
2 files changed, 11 insertions(+)
diff --git a/configure.ac b/configure.ac
index d9e6329314a3..77f12a55569a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1328,6 +1328,11 @@ PHP_UNAME=${PHP_UNAME:-$UNAME}
AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
PHP_OS=`uname | xargs`
AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output])
+PHP_BUILD_SYSTEM=${PHP_BUILD_SYSTEM:-$PHP_UNAME}
+AC_DEFINE_UNQUOTED(PHP_BUILD_SYSTEM,"$PHP_BUILD_SYSTEM",[builder uname output])
+if test -n "${PHP_BUILD_PROVIDER}"; then
+ AC_DEFINE_UNQUOTED(PHP_BUILD_PROVIDER,"$PHP_BUILD_PROVIDER",[build provider])
+fi
PHP_SUBST_OLD(PHP_INSTALLED_SAPIS)
diff --git a/ext/standard/info.c b/ext/standard/info.c
index 262e95ae2731..f652efd23657 100644
--- a/ext/standard/info.c
+++ b/ext/standard/info.c
@@ -803,6 +803,12 @@ PHPAPI ZEND_COLD void php_print_info(int flag)
php_info_print_table_start();
php_info_print_table_row(2, "System", ZSTR_VAL(php_uname));
php_info_print_table_row(2, "Build Date", __DATE__ " " __TIME__);
+#ifdef PHP_BUILD_SYSTEM
+ php_info_print_table_row(2, "Build System", PHP_BUILD_SYSTEM);
+#endif
+#ifdef PHP_BUILD_PROVIDER
+ php_info_print_table_row(2, "Build Provider", PHP_BUILD_PROVIDER);
+#endif
#ifdef COMPILER
php_info_print_table_row(2, "Compiler", COMPILER);
#endif

Просмотреть файл

@ -1,521 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=bWxl
-----END PGP PUBLIC KEY BLOCK-----

Просмотреть файл

@ -1,7 +0,0 @@
<IfModule !mod_php5.c>
<IfModule !prefork.c>
# ZTS module is not supported, so FPM is preferred
# LoadModule php7_module modules/libphp7-zts.so
</IfModule>
</IfModule>

Просмотреть файл

@ -0,0 +1,96 @@
From 0718b375425aad8e54e1150313b862e4c6fd324a Mon Sep 17 00:00:00 2001
From: Kevin Atkinson <kevina@gnu.org>
Date: Sat, 21 Dec 2019 20:32:47 +0000
Subject: [PATCH] objstack: assert that the alloc size will fit within a chunk
to prevent a buffer overflow
Bug found using OSS-Fuze.
---
common/objstack.hpp | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/common/objstack.hpp b/common/objstack.hpp
index 3997bf7..bd97ccd 100644
--- a/common/objstack.hpp
+++ b/common/objstack.hpp
@@ -5,6 +5,7 @@
#include "parm_string.hpp"
#include <stdlib.h>
#include <assert.h>
+#include <stddef.h>
namespace acommon {
@@ -26,6 +27,12 @@ class ObjStack
byte * temp_end;
void setup_chunk();
void new_chunk();
+ bool will_overflow(size_t sz) const {
+ return offsetof(Node,data) + sz > chunk_size;
+ }
+ void check_size(size_t sz) {
+ assert(!will_overflow(sz));
+ }
ObjStack(const ObjStack &);
void operator=(const ObjStack &);
@@ -56,7 +63,7 @@ class ObjStack
void * alloc_bottom(size_t size) {
byte * tmp = bottom;
bottom += size;
- if (bottom > top) {new_chunk(); tmp = bottom; bottom += size;}
+ if (bottom > top) {check_size(size); new_chunk(); tmp = bottom; bottom += size;}
return tmp;
}
// This alloc_bottom will insure that the object is aligned based on the
@@ -66,7 +73,7 @@ class ObjStack
align_bottom(align);
byte * tmp = bottom;
bottom += size;
- if (bottom > top) {new_chunk(); goto loop;}
+ if (bottom > top) {check_size(size); new_chunk(); goto loop;}
return tmp;
}
char * dup_bottom(ParmString str) {
@@ -79,7 +86,7 @@ class ObjStack
// always be aligned as such.
void * alloc_top(size_t size) {
top -= size;
- if (top < bottom) {new_chunk(); top -= size;}
+ if (top < bottom) {check_size(size); new_chunk(); top -= size;}
return top;
}
// This alloc_top will insure that the object is aligned based on
@@ -88,7 +95,7 @@ class ObjStack
{loop:
top -= size;
align_top(align);
- if (top < bottom) {new_chunk(); goto loop;}
+ if (top < bottom) {check_size(size); new_chunk(); goto loop;}
return top;
}
char * dup_top(ParmString str) {
@@ -117,6 +124,7 @@ class ObjStack
void * alloc_temp(size_t size) {
temp_end = bottom + size;
if (temp_end > top) {
+ check_size(size);
new_chunk();
temp_end = bottom + size;
}
@@ -131,6 +139,7 @@ class ObjStack
} else {
size_t s = temp_end - bottom;
byte * p = bottom;
+ check_size(size);
new_chunk();
memcpy(bottom, p, s);
temp_end = bottom + size;
@@ -150,6 +159,7 @@ class ObjStack
} else {
size_t s = temp_end - bottom;
byte * p = bottom;
+ check_size(size);
new_chunk();
memcpy(bottom, p, s);
temp_end = bottom + size;

Просмотреть файл

@ -1,25 +1,28 @@
Summary: Spell checker
Name: aspell
Version: 0.60.8
Release: 5%{?dist}
Release: 6%{?dist}
# LGPLv2+ .. common/gettext.h
# LGPLv2 .. modules/speller/default/phonet.hpp,
# modules/speller/default/phonet.cpp,
# modules/speller/default/affix.cpp
# GPLv2+ .. ltmain.sh, misc/po-filter.c
# BSD .. myspell/munch.c
License: LGPLv2+ and LGPLv2 and GPLv2+ and BSD
License: LGPLv2+ AND LGPLv2 AND GPLv2+ AND BSD
Vendor: Microsoft Corporation
Distribution: Mariner
URL: http://aspell.net/
Source: ftp://ftp.gnu.org/gnu/aspell/aspell-%{version}.tar.gz
Patch0: aspell-0.60.7-fileconflict.patch
Patch1: aspell-0.60.7-pspell_conf.patch
Patch2: aspell-0.60.7-mp.patch
Patch3: aspell-0.60.8-objstack.patch
BuildRequires: chrpath
BuildRequires: gcc-c++
BuildRequires: chrpath, gettext, ncurses-devel, pkgconfig, perl-interpreter
BuildRequires: gettext
BuildRequires: ncurses-devel
BuildRequires: perl-interpreter
BuildRequires: pkg-config
%description
GNU Aspell is a spell checker designed to eventually replace Ispell. It can
@ -34,7 +37,7 @@ than one Aspell process is open at once.
%package devel
Summary: Libraries and header files for Aspell development
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig
Requires: pkg-config
%description devel
The aspell-devel package includes libraries
@ -45,6 +48,7 @@ and header files needed for Aspell development.
%patch0 -p1 -b .fc
%patch1 -p1 -b .mlib
%patch2 -p1 -b .ai
%patch3 -p1 -b .obs
iconv -f iso-8859-2 -t utf-8 < manual/aspell.info > manual/aspell.info.aux
mv manual/aspell.info.aux manual/aspell.info
@ -59,32 +63,33 @@ cp manual/aspell-import.1 examples/aspell-import.1
%install
%make_install
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60
mkdir -p %{buildroot}%{_libdir}/aspell-0.60
mv ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60/ispell ${RPM_BUILD_ROOT}%{_bindir}
mv ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60/spell ${RPM_BUILD_ROOT}%{_bindir}
mv %{buildroot}%{_libdir}/aspell-0.60/ispell %{buildroot}%{_bindir}
mv %{buildroot}%{_libdir}/aspell-0.60/spell %{buildroot}%{_bindir}
chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60//nroff-filter.so
chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60//sgml-filter.so
chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60//context-filter.so
chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60//email-filter.so
chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60//tex-filter.so
chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60//texinfo-filter.so
chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60//markdown-filter.so
chrpath --delete ${RPM_BUILD_ROOT}%{_bindir}/aspell
chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/libpspell.so.*
chrpath --delete %{buildroot}%{_libdir}/aspell-0.60//nroff-filter.so
chrpath --delete %{buildroot}%{_libdir}/aspell-0.60//sgml-filter.so
chrpath --delete %{buildroot}%{_libdir}/aspell-0.60//context-filter.so
chrpath --delete %{buildroot}%{_libdir}/aspell-0.60//email-filter.so
chrpath --delete %{buildroot}%{_libdir}/aspell-0.60//tex-filter.so
chrpath --delete %{buildroot}%{_libdir}/aspell-0.60//texinfo-filter.so
chrpath --delete %{buildroot}%{_libdir}/aspell-0.60//markdown-filter.so
chrpath --delete %{buildroot}%{_bindir}/aspell
chrpath --delete %{buildroot}%{_libdir}/libpspell.so.*
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libaspell.la
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libpspell.la
rm -f ${RPM_BUILD_ROOT}%{_libdir}/aspell-0.60/*-filter.la
rm -f ${RPM_BUILD_ROOT}%{_bindir}/aspell-import
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/aspell-import.1
rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir
rm -f %{buildroot}%{_libdir}/libaspell.la
rm -f %{buildroot}%{_libdir}/libpspell.la
rm -f %{buildroot}%{_libdir}/aspell-0.60/*-filter.la
rm -f %{buildroot}%{_bindir}/aspell-import
rm -f %{buildroot}%{_mandir}/man1/aspell-import.1
rm -f %{buildroot}%{_infodir}/dir
%find_lang %{name}
%files -f %{name}.lang
%doc README TODO COPYING examples/aspell-import examples/aspell-import.1
%license COPYING
%doc README TODO examples/aspell-import examples/aspell-import.1
%dir %{_libdir}/aspell-0.60
%{_bindir}/a*
%{_bindir}/ispell
@ -111,6 +116,11 @@ rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir
%{_mandir}/man1/pspell-config.1*
%changelog
* Fri Oct 07 2022 Osama Esmail <osamaesmail@microsoft.com> - 0.60.8-6
- Moved from SPECS-EXTENDED to SPECS
- Added patch for CVE-2019-25051
- License verified
* Mon Nov 01 2021 Muhammad Falak <mwani@microsft.com> - 0.60.8-5
- Remove epoch
@ -322,7 +332,6 @@ rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir
- add BuildRequires: ncurses-devel, gettext
- add config script patch (thanks tmraz@redhat.com)
* Mon Mar 7 2005 Ivana Varekova <varekova@redhat.com> 12:0.50.5-6
- rebuilt

Просмотреть файл

@ -0,0 +1,32 @@
The source for this package does not include a copy of the license text. From the comments in 'docbook.dtd':
"
Copyright 1992, 1993, 1994, 1995, 1996 HaL Computer Systems, Inc.,
O'Reilly & Associates, Inc., ArborText, Inc., and Fujitsu Software
Corporation.
Permission to use, copy, modify and distribute the DocBook DTD and
its accompanying documentation for any purpose and without fee is
hereby granted in perpetuity, provided that the above copyright
notice and this paragraph appear in all copies. The copyright
holders make no representation about the suitability of the DTD for
any purpose. It is provided "as is" without expressed or implied
warranty.
If you modify the DocBook DTD in any way, except for declaring and
referencing additional sets of general entities and declaring
additional notations, label your DTD as a variant of DocBook. See
the maintenance documentation for more information.
Please direct all questions, bug reports, or suggestions for
changes to the davenport@online.ora.com mailing list or to one of
the maintainers:
o Terry Allen, Fujitsu Software Corporation
3055 Orchard Drive, San Jose, CA 95134
<tallen@fsc.fujitsu.com>
o Eve Maler, ArborText Inc.
105 Lexington St., Burlington, MA 01803
<elm@arbortext.com>
"

Просмотреть файл

@ -1,5 +1,6 @@
{
"Signatures": {
"LICENSE.PTR": "8fca2153c27d7ce009a42e67c6c429da1bfcb812c9266cd45a0423654d887249",
"docbk30.zip": "ecf71cbe8ddbad7494ff520d5b4edf73a428c0b159178cb0cb619cba685e61c6",
"docbk31.zip": "20261d2771b9a052abfa3d8fab1aa62be05791a010281c566f9073bf0e644538",
"docbk40.zip": "dfef22f109779e4cfaafa27b6d381d975ac05eaafb5b3d4407d7043e310817bb",

Просмотреть файл

@ -1,51 +1,16 @@
Vendor: Microsoft Corporation
Distribution: Mariner
%global openjadever 1.3.2
%global version_list "{3,4}.{0,1}-sgml 4.1.2-xml 4.{2,3,4,5}-{sgml,xml} 4.{2,3,4,5}-rng 4.{2,3,4,5}-xsd"
%global catalog_list "{3,4}.{0,1}-sgml 4.1.2-xml 4.{2,3,4,5}-{sgml,xml}"
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
Summary: SGML and XML document type definitions for DocBook
Name: docbook-dtds
Version: 1.0
Release: 77%{?dist}
Summary: SGML and XML document type definitions for DocBook
License: Copyright only
URL: http://www.oasis-open.org/docbook/
Obsoletes: docbook-dtd30-sgml < %{version}-%{release}
Obsoletes: docbook-dtd31-sgml < %{version}-%{release}
Obsoletes: docbook-dtd40-sgml < %{version}-%{release}
Obsoletes: docbook-dtd41-sgml < %{version}-%{release}
Obsoletes: docbook-dtd412-xml < %{version}-%{release}
Provides: docbook-dtd-xml = %{version}-%{release}
Provides: docbook-dtd-sgml = %{version}-%{release}
Provides: docbook-dtd30-sgml = %{version}-%{release}
Provides: docbook-dtd31-sgml = %{version}-%{release}
Provides: docbook-dtd40-sgml = %{version}-%{release}
Provides: docbook-dtd41-sgml = %{version}-%{release}
Provides: docbook-dtd412-xml = %{version}-%{release}
Provides: docbook-dtd42-sgml = %{version}-%{release}
Provides: docbook-dtd42-xml = %{version}-%{release}
Provides: docbook-dtd43-sgml = %{version}-%{release}
Provides: docbook-dtd43-xml = %{version}-%{release}
Provides: docbook-dtd44-sgml = %{version}-%{release}
Provides: docbook-dtd44-xml = %{version}-%{release}
Provides: docbook-dtd45-sgml = %{version}-%{release}
Provides: docbook-dtd45-xml = %{version}-%{release}
Requires(post): /usr/bin/xmlcatalog
Requires(postun): /usr/bin/xmlcatalog
Requires(post): /bin/chmod
Requires(post): sed
Requires(postun): sed
Requires: sgml-common
Requires: xml-common
BuildArch: noarch
Source0: http://www.oasis-open.org/docbook/sgml/3.0/docbk30.zip
Release: 78%{?dist}
License: MIT With Advertising
Vendor: Microsoft Corporation
Distribution: Mariner
URL: https://www.oasis-open.org/docbook/
Source0: https://www.oasis-open.org/docbook/sgml/3.0/docbk30.zip
Source1: http://www.oasis-open.org/docbook/sgml/3.1/docbk31.zip
Source2: http://www.oasis-open.org/docbook/sgml/4.0/docbk40.zip
Source3: http://www.oasis-open.org/docbook/sgml/4.1/docbk41.zip
@ -68,6 +33,8 @@ Source18: http://www.docbook.org/xsd/4.3/docbook-xsd-4.3.zip
Source19: http://www.docbook.org/xsd/4.4/docbook-xsd-4.4.zip
#compressed from http://www.docbook.org/xsd/4.5/ upstream archive unavailable
Source20: docbook-xsd-4.5.zip
#license file
Source21: LICENSE.PTR
#fix old catalog files
Patch0: docbook-dtd30-sgml-1.0.catalog.patch
Patch1: docbook-dtd31-sgml-1.0.catalog.patch
@ -83,6 +50,34 @@ Patch7: docbook-sgml-systemrewrite.patch
#use XML at the end of public identificators of XML 4.1.2 ISO entities
Patch8: docbook-dtd412-entities.patch
BuildRequires: unzip
Requires: sgml-common
Requires: xml-common
Requires(post): %{_bindir}/xmlcatalog
Requires(post): /bin/chmod
Requires(post): sed
Requires(postun): %{_bindir}/xmlcatalog
Requires(postun): sed
Obsoletes: docbook-dtd30-sgml < %{version}-%{release}
Obsoletes: docbook-dtd31-sgml < %{version}-%{release}
Obsoletes: docbook-dtd40-sgml < %{version}-%{release}
Obsoletes: docbook-dtd41-sgml < %{version}-%{release}
Obsoletes: docbook-dtd412-xml < %{version}-%{release}
Provides: docbook-dtd-xml = %{version}-%{release}
Provides: docbook-dtd-sgml = %{version}-%{release}
Provides: docbook-dtd30-sgml = %{version}-%{release}
Provides: docbook-dtd31-sgml = %{version}-%{release}
Provides: docbook-dtd40-sgml = %{version}-%{release}
Provides: docbook-dtd41-sgml = %{version}-%{release}
Provides: docbook-dtd412-xml = %{version}-%{release}
Provides: docbook-dtd42-sgml = %{version}-%{release}
Provides: docbook-dtd42-xml = %{version}-%{release}
Provides: docbook-dtd43-sgml = %{version}-%{release}
Provides: docbook-dtd43-xml = %{version}-%{release}
Provides: docbook-dtd44-sgml = %{version}-%{release}
Provides: docbook-dtd44-xml = %{version}-%{release}
Provides: docbook-dtd45-sgml = %{version}-%{release}
Provides: docbook-dtd45-xml = %{version}-%{release}
BuildArch: noarch
%description
The DocBook Document Type Definition (DTD) describes the syntax of
@ -90,32 +85,31 @@ technical documentation texts (articles, books and manual pages).
This syntax is XML-compliant and is developed by the OASIS consortium.
This package contains SGML and XML versions of the DocBook DTD.
%prep
%setup -c -T
%setup -q -c -T
eval mkdir %{version_list}
# DocBook V3.0
cd 3.0-sgml
unzip %{SOURCE0}
%patch0 -p0 -b docbook.cat
%patch0 -b docbook.cat
cd ..
# DocBook V3.1
cd 3.1-sgml
unzip %{SOURCE1}
%patch1 -p0 -b docbook.cat
%patch1 -b docbook.cat
cd ..
# DocBook V4.0
cd 4.0-sgml
unzip %{SOURCE2}
%patch2 -p0 -b docbook.cat
%patch2 -b docbook.cat
cd ..
# DocBook V4.1
cd 4.1-sgml
unzip %{SOURCE3}
%patch3 -p0 -b docbook.cat
%patch3 -b docbook.cat
cd ..
# DocBook XML V4.1.2
@ -126,7 +120,7 @@ cd ..
# DocBook V4.2
cd 4.2-sgml
unzip %{SOURCE5}
%patch4 -p0 -b docbook.cat
%patch4 -b docbook.cat
cd ..
# DocBook XML V4.2
@ -233,13 +227,14 @@ fi
%install
rm -rf $RPM_BUILD_ROOT
cp %{SOURCE21} .
# Symlinks
mkdir -p $RPM_BUILD_ROOT/etc/sgml
mkdir -p %{buildroot}%{_sysconfdir}/sgml
for fmt in sgml xml; do
ln -s $fmt-docbook-4.5.cat \
$RPM_BUILD_ROOT/etc/sgml/$fmt-docbook.cat
%{buildroot}%{_sysconfdir}/sgml/$fmt-docbook.cat
done
eval set %{version_list}
@ -248,10 +243,10 @@ do
cd $dir
fmt=${dir#*-} ver=${dir%%-*}
case $fmt in
sgml) DESTDIR=$RPM_BUILD_ROOT/usr/share/sgml/docbook/$fmt-dtd-$ver ;;
xml) DESTDIR=$RPM_BUILD_ROOT/usr/share/sgml/docbook/$fmt-dtd-$ver ;;
rng) DESTDIR=$RPM_BUILD_ROOT/usr/share/sgml/docbook/$fmt-$ver ;;
xsd) DESTDIR=$RPM_BUILD_ROOT/usr/share/sgml/docbook/$fmt-$ver ;;
sgml) DESTDIR=%{buildroot}%{_datadir}/sgml/docbook/$fmt-dtd-$ver ;;
xml) DESTDIR=%{buildroot}%{_datadir}/sgml/docbook/$fmt-dtd-$ver ;;
rng) DESTDIR=%{buildroot}%{_datadir}/sgml/docbook/$fmt-$ver ;;
xsd) DESTDIR=%{buildroot}%{_datadir}/sgml/docbook/$fmt-$ver ;;
esac
case $fmt in
sgml) mkdir -p $DESTDIR ; install *.dcl $DESTDIR ;;
@ -267,49 +262,50 @@ for dir
do
cd $dir
fmt=${dir#*-} ver=${dir%%-*}
DESTDIR=$RPM_BUILD_ROOT/usr/share/sgml/docbook/$fmt-dtd-$ver
DESTDIR=%{buildroot}%{_datadir}/sgml/docbook/$fmt-dtd-$ver
install *.dtd *.mod $DESTDIR
install docbook.cat $DESTDIR/catalog
cd ..
# File for %%ghost
touch $RPM_BUILD_ROOT/etc/sgml/$fmt-docbook-$ver.cat
touch %{buildroot}%{_sysconfdir}/sgml/$fmt-docbook-$ver.cat
done
#workaround the missing support for --parents hack in rpm 4.11+
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}
mkdir -p %{buildroot}%{_pkgdocdir}
for i in */*.txt */ChangeLog */README
do
cp -pr --parents $i $RPM_BUILD_ROOT%{_pkgdocdir}
cp -pr --parents $i %{buildroot}%{_pkgdocdir}
done
%files
%license LICENSE.PTR
#in upstream tarballs there is a lot of files with 0755 permissions
#but they don't need to be, 0644 is enough for every file in tarball
%{_pkgdocdir}
/usr/share/sgml/docbook/*ml-dtd-*
/usr/share/sgml/docbook/rng-*
/usr/share/sgml/docbook/xsd-*
%config(noreplace) /etc/sgml/*ml-docbook.cat
%ghost %config(noreplace) /etc/sgml/*ml-docbook-*.cat
%{_datadir}/sgml/docbook/*ml-dtd-*
%{_datadir}/sgml/docbook/rng-*
%{_datadir}/sgml/docbook/xsd-*
%config(noreplace) %{_sysconfdir}/sgml/*ml-docbook.cat
%ghost %config(noreplace) %{_sysconfdir}/sgml/*ml-docbook-*.cat
%post
catcmd='/usr/bin/xmlcatalog --noout'
xmlcatalog=/usr/share/sgml/docbook/xmlcatalog
catcmd='%{_bindir}/xmlcatalog --noout'
xmlcatalog=%{_datadir}/sgml/docbook/xmlcatalog
## Clean up pre-docbook-dtds mess caused by broken trigger.
for v in 3.0 3.1 4.0 4.1 4.2
do
if [ -f /etc/sgml/sgml-docbook-$v.cat ]
if [ -f %{_sysconfdir}/sgml/sgml-docbook-$v.cat ]
then
$catcmd --sgml --del /etc/sgml/sgml-docbook-$v.cat \
/usr/share/sgml/openjade-1.3.1/catalog 2>/dev/null
$catcmd --sgml --del %{_sysconfdir}/sgml/sgml-docbook-$v.cat \
%{_datadir}/sgml/openjade-1.3.1/catalog 2>/dev/null
fi
done
# The STYLESHEETS/catalog command is for the case in which the style sheets
# were installed after another DTD but before this DTD
for STYLESHEETS in /usr/share/sgml/docbook/dsssl-stylesheets-*; do : ; done
for STYLESHEETS in %{_datadir}/sgml/docbook/dsssl-stylesheets-*; do : ; done
case $STYLESHEETS in
*-"*") STYLESHEETS= ;;
esac
@ -317,11 +313,11 @@ eval set %{catalog_list}
for dir
do
fmt=${dir#*-} ver=${dir%%-*}
sgmldir=/usr/share/sgml/docbook/$fmt-dtd-$ver
sgmldir=%{_datadir}/sgml/docbook/$fmt-dtd-$ver
## SGML catalog
# Update the centralized catalog corresponding to this version of the DTD
for cat_dir in /usr/share/sgml/sgml-iso-entities-8879.1986 $sgmldir $STYLESHEETS; do
$catcmd --sgml --add /etc/sgml/$fmt-docbook-$ver.cat $cat_dir/catalog
for cat_dir in %{_datadir}/sgml/sgml-iso-entities-8879.1986 $sgmldir $STYLESHEETS; do
$catcmd --sgml --add %{_sysconfdir}/sgml/$fmt-docbook-$ver.cat $cat_dir/catalog
done
## XML catalog
if [ $fmt = xml -a -w $xmlcatalog ]; then
@ -386,16 +382,16 @@ sed -ni '
s/^
//p
}
' /etc/sgml/catalog
' %{_sysconfdir}/sgml/catalog
# Finally, make sure everything in /etc/sgml is readable!
chmod a+r /etc/sgml/*
chmod a+r %{_sysconfdir}/sgml/*
%postun
# remove entries only on removal of package
if [ "$1" = 0 ]; then
catcmd='/usr/bin/xmlcatalog --noout'
xmlcatalog=/usr/share/sgml/docbook/xmlcatalog
catcmd='%{_bindir}/xmlcatalog --noout'
xmlcatalog=%{_datadir}/sgml/docbook/xmlcatalog
entities="
ent/iso-pub.ent
ent/iso-grk1.ent
@ -429,11 +425,11 @@ ent/iso-cyr2.ent
for dir
do
fmt=${dir#*-} ver=${dir%%-*}
sgmldir=/usr/share/sgml/docbook/$fmt-dtd-$ver
sgmldir=%{_datadir}/sgml/docbook/$fmt-dtd-$ver
## SGML catalog
# Update the centralized catalog corresponding to this version of the DTD
$catcmd --sgml --del /etc/sgml/catalog /etc/sgml/$fmt-docbook-$ver.cat >/dev/null
rm -f /etc/sgml/$fmt-docbook-$ver.cat
$catcmd --sgml --del %{_sysconfdir}/sgml/catalog %{_sysconfdir}/sgml/$fmt-docbook-$ver.cat >/dev/null
rm -f %{_sysconfdir}/sgml/$fmt-docbook-$ver.cat
## XML catalog
if [ $fmt = xml -a -w $xmlcatalog ]; then
for f in $entities; do
@ -453,7 +449,7 @@ ent/iso-cyr2.ent
s/^
//p
}
' /etc/sgml/catalog
' %{_sysconfdir}/sgml/catalog
fi
%triggerin -- openjade >= %{openjadever}
@ -461,8 +457,8 @@ eval set %{catalog_list}
for dir
do
fmt=${dir#*-} ver=${dir%%-*}
/usr/bin/xmlcatalog --sgml --noout --add /etc/sgml/$fmt-docbook-$ver.cat \
/usr/share/sgml/openjade-%{openjadever}/catalog
%{_bindir}/xmlcatalog --sgml --noout --add %{_sysconfdir}/sgml/$fmt-docbook-$ver.cat \
%{_datadir}/sgml/openjade-%{openjadever}/catalog
done
%triggerun -- openjade >= %{openjadever}
@ -471,11 +467,15 @@ eval set %{catalog_list}
for dir
do
fmt=${dir#*-} ver=${dir%%-*}
/usr/bin/xmlcatalog --sgml --noout --del /etc/sgml/$fmt-docbook-$ver.cat \
/usr/share/sgml/openjade-%{openjadever}/catalog
%{_bindir}/xmlcatalog --sgml --noout --del %{_sysconfdir}/sgml/$fmt-docbook-$ver.cat \
%{_datadir}/sgml/openjade-%{openjadever}/catalog
done
%changelog
* Fri Sep 16 2022 Osama Esmail <osamaesmail@microsoft.com> - 1.0-78
- Moved from SPECS-EXTENDED to SPECS
- License verified
- Updated source URL
* Mon Nov 01 2021 Muhammad Falak <mwani@microsft.com> - 1.0-77
- Remove epoch

Просмотреть файл

@ -0,0 +1,53 @@
The source for this package does not include a copy of the license text. From the comments in 'README':
"
Copyright
---------
Copyright (C) 1997-2001 Norman Walsh
The original inspiration for these stylesheets came from the
work of Jon Bosak, Anders Berglund, Tony Graham, Terry Allen,
James Clark, and many others. I am indebted to them and to the
community of users on dssslist@mulberrytech.com for making
substantial contributions to this work and for answering my many
questions.
This software may be distributed under the same terms as Jade:
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the ``Software''), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
Except as contained in this notice, the names of individuals
credited with contribution to this software shall not be used in
advertising or otherwise to promote the sale, use or other
dealings in this Software without prior written authorization
from the individuals in question.
Any stylesheet derived from this Software that is publically
distributed will be identified with a different name and the
version strings in any derived Software will be changed so that
no possibility of confusion between the derived package and this
Software will exist.
Warranty
--------
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY OTHER
CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
"

Просмотреть файл

@ -1,5 +1,6 @@
{
"Signatures": {
"LICENSE.PTR": "db70d4b9d5666648eff6e57328ab1f7a32646700fde77e9f97c06fa8017d7a17",
"docbook-dsssl-1.79.tar.gz": "d5a199024a5fe0862bfaff9e3533817cd8d08bddf3cdfb5bfe6088cbb2cd62b3",
"docbook-style-dsssl.Makefile": "563662f6a3a0777f1ac037a0aebcfcdf7e9c8a8d3e042e69a33edffc0bcae1f1"
}

Просмотреть файл

@ -1,25 +1,22 @@
Vendor: Microsoft Corporation
Distribution: Mariner
Summary: Norman Walsh's modular stylesheets for DocBook
Name: docbook-style-dsssl
Version: 1.79
Release: 30%{?dist}
Summary: Norman Walsh's modular stylesheets for DocBook
License: DMIT
URL: http://docbook.sourceforge.net/
Release: 31%{?dist}
License: MIT WITH Advertising
Vendor: Microsoft Corporation
Distribution: Mariner
URL: https://docbook.sourceforge.net/
Source0: http://prdownloads.sourceforge.net/docbook/docbook-dsssl-%{version}.tar.gz
Source1: %{name}.Makefile
#license file
Source2: LICENSE.PTR
BuildRequires: perl-generators
Requires: docbook-dtds
Requires: openjade
Requires: sgml-common
Requires(post): sgml-common
Requires(preun): sgml-common
BuildArch: noarch
Source0: http://prdownloads.sourceforge.net/docbook/docbook-dsssl-%{version}.tar.gz
Source1: %{name}.Makefile
%description
These DSSSL stylesheets allow to convert any DocBook document to another
@ -34,38 +31,42 @@ cp %{SOURCE1} Makefile
%build
%install
DESTDIR=$RPM_BUILD_ROOT
cp %{SOURCE2} .
DESTDIR=%{buildroot}
make install BINDIR=$DESTDIR/usr/bin DESTDIR=$DESTDIR/usr/share/sgml/docbook/dsssl-stylesheets-%{version} MANDIR=$DESTDIR%{_mandir}
cd ..
ln -s dsssl-stylesheets-%{version} $DESTDIR/usr/share/sgml/docbook/dsssl-stylesheets
%files
%license LICENSE.PTR
%doc BUGS README ChangeLog WhatsNew
/usr/bin/collateindex.pl
%{_bindir}/collateindex.pl
%{_mandir}/man1/collateindex.pl.1*
/usr/share/sgml/docbook/dsssl-stylesheets-%{version}
/usr/share/sgml/docbook/dsssl-stylesheets
%{_datadir}/sgml/docbook/dsssl-stylesheets-%{version}
%{_datadir}/sgml/docbook/dsssl-stylesheets
%post
for centralized in /etc/sgml/*-docbook-*.cat
for centralized in %{_sysconfdir}/sgml/*-docbook-*.cat
do
/usr/bin/install-catalog --add $centralized \
/usr/share/sgml/docbook/dsssl-stylesheets-%{version}/catalog \
%{_bindir}/install-catalog --add $centralized \
%{_datadir}/sgml/docbook/dsssl-stylesheets-%{version}/catalog \
> /dev/null 2>/dev/null
done
%preun
if [ "$1" = "0" ]; then
for centralized in /etc/sgml/*-docbook-*.cat
for centralized in %{_sysconfdir}/sgml/*-docbook-*.cat
do
/usr/bin/install-catalog --remove $centralized /usr/share/sgml/docbook/dsssl-stylesheets-%{version}/catalog > /dev/null 2>/dev/null
%{_bindir}/install-catalog --remove $centralized %{_datadir}/sgml/docbook/dsssl-stylesheets-%{version}/catalog > /dev/null 2>/dev/null
done
fi
exit 0
%changelog
* Fri Sep 16 2022 Osama Esmail <osamaesmail@microsoft.com> - 1.79-31
- Moved from SPECS-EXTENDED to SPECS
- License verified
* Fri Oct 15 2021 Pawel Winogrodzki <pawelwi@microsoft.com> - 1.79-30
- Initial CBL-Mariner import from Fedora 32 (license: MIT).

Просмотреть файл

@ -1,7 +1,7 @@
Summary: An Enchanting Spell Checking Library
Name: enchant2
Version: 2.2.14
Release: 3%{?dist}
Release: 4%{?dist}
License: LGPLv2+
Vendor: Microsoft Corporation
Distribution: Mariner
@ -10,7 +10,6 @@ Source0: https://github.com/AbiWord/enchant/releases/download/v%{version}
# Look for aspell using pkg-config, instead of AC_CHECK_LIB which adds -laspell
# to the global LIBS and over-links libenchant (#1574893)
Patch0: enchant_aspell.patch
BuildRequires: aspell-devel
BuildRequires: autoconf
BuildRequires: automake
@ -20,7 +19,6 @@ BuildRequires: hunspell-devel
BuildRequires: libtool
BuildRequires: libvoikko-devel
BuildRequires: make
Provides: bundled(gnulib)
%description
@ -28,7 +26,6 @@ A library that wraps other spell checking backends.
%package aspell
Summary: Integration with aspell for libenchant
Requires: enchant2%{?_isa} = %{version}-%{release}
%description aspell
@ -36,9 +33,7 @@ Libraries necessary to integrate applications using libenchant with aspell.
%package voikko
Summary: Integration with voikko for libenchant
Requires: enchant2%{?_isa} = %{version}-%{release}
Supplements: (enchant2 and langpacks-fi)
%description voikko
@ -46,7 +41,6 @@ Libraries necessary to integrate applications using libenchant with voikko.
%package devel
Summary: Development files for %{name}
Requires: enchant2%{?_isa} = %{version}-%{release}
Requires: glib2-devel
@ -99,6 +93,9 @@ find %{buildroot} -type f -name "*.la" -delete -print
%{_includedir}/enchant-2
%changelog
* Fri Sep 16 2022 Osama Esmail <osamaesmail@microsoft.com> - 2.2.14-4
- Moved from SPECS-EXTENDED to SPECS
* Mon Apr 18 2022 Pawel Winogrodzki <pawelwi@microsoft.com> - 2.2.14-3
- License verified.

Просмотреть файл

@ -1,32 +1,30 @@
%define bits %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32}
Summary: Implementation of the TDS (Tabular DataStream) protocol
Name: freetds
Version: 1.1.20
Release: 4%{?dist}
License: LGPLv2+ AND GPLv2+
Vendor: Microsoft Corporation
Distribution: Mariner
%define bits %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32}
Name: freetds
Summary: Implementation of the TDS (Tabular DataStream) protocol
Version: 1.1.20
Release: 3%{?dist}
License: LGPLv2+ and GPLv2+
URL: http://www.freetds.org/
URL: https://www.freetds.org/
Source0: ftp://ftp.freetds.org/pub/freetds/stable/freetds-%{version}.tar.bz2
Source1: freetds-tds_sysdep_public.h
BuildRequires: unixODBC-devel, readline-devel, gnutls-devel, krb5-devel
BuildRequires: docbook-style-dsssl
BuildRequires: doxygen
BuildRequires: gnutls-devel
BuildRequires: krb5-devel
BuildRequires: libgcrypt-devel
BuildRequires: libtool
BuildRequires: doxygen, docbook-style-dsssl
BuildRequires: readline-devel
BuildRequires: unixODBC-devel
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description
FreeTDS is a project to document and implement the TDS (Tabular
DataStream) protocol. TDS is used by Sybase(TM) and Microsoft(TM) for
client to database server communications. FreeTDS includes call
level interfaces for DB-Lib, CT-Lib, and ODBC.
%package libs
Summary: Libraries for %{name}
Requires: %{name} = %{version}-%{release}
@ -38,7 +36,6 @@ client to database server communications. FreeTDS includes call
level interfaces for DB-Lib, CT-Lib, and ODBC.
This package contains the libraries for %{name}.
%package devel
Summary: Header files and development libraries for %{name}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
@ -48,7 +45,6 @@ This package contains the header files and development libraries
for %{name}. If you like to develop programs using %{name}, you will need
to install %{name}-devel.
%package doc
Summary: Development documentation for %{name}
BuildArch: noarch
@ -58,12 +54,11 @@ This package contains the development documentation for %{name}.
If you like to develop programs using %{name}, you will need to install
%{name}-doc.
%prep
%setup -q
# correct perl path
sed -i '1 s,#!.*/perl,#!%{__perl},' samples/*.pl
sed -i '1 s,#!.*/perl,#!perl,' samples/*.pl
chmod -x samples/*.sh
@ -88,20 +83,19 @@ sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_RIE|' libtool
make %{?_smp_mflags} DOCBOOK_DSL="`rpm -ql docbook-style-dsssl | fgrep html/docbook.dsl`"
make %{?_smp_mflags} DOCBOOK_DSL="`rpm -ql docbook-style-dsssl | grep -F html/docbook.dsl`"
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
make install DESTDIR=%{buildroot}
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
chmod -x $RPM_BUILD_ROOT%{_sysconfdir}/*
find %{buildroot} -type f -name "*.la" -delete -print
chmod -x %{buildroot}%{_sysconfdir}/*
mv -f $RPM_BUILD_ROOT%{_includedir}/tds_sysdep_public.h \
$RPM_BUILD_ROOT%{_includedir}/tds_sysdep_public_%{bits}.h
install -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_includedir}/tds_sysdep_public.h
mv -f %{buildroot}%{_includedir}/tds_sysdep_public.h \
%{buildroot}%{_includedir}/tds_sysdep_public_%{bits}.h
install -p -m 644 %{SOURCE1} %{buildroot}%{_includedir}/tds_sysdep_public.h
rm -f samples/Makefile* samples/*.in samples/README
@ -112,7 +106,7 @@ mkdir samples-odbc
mv -f samples/*odbc* samples-odbc
# deinstall it for our own way...
mv -f $RPM_BUILD_ROOT%{_docdir}/%{name} docdir
mv -f %{buildroot}%{_docdir}/%{name} docdir
find docdir -type f -print0 | xargs -0 chmod -x
@ -121,32 +115,33 @@ find docdir -type f -print0 | xargs -0 chmod -x
%files
%{_bindir}/*
%doc AUTHORS BUGS COPYING NEWS README TODO doc/*.html
%license COPYING
%doc AUTHORS BUGS NEWS README TODO doc/*.html
%doc docdir/userguide docdir/images
%{_mandir}/man1/*
%files libs
%doc COPYING.LIB
%license COPYING.LIB
%{_libdir}/*.so.*
%{_libdir}/libtdsodbc.so
%doc samples-odbc
%config(noreplace) %{_sysconfdir}/*.conf
%{_mandir}/man5/*
%files devel
%doc samples
%{_libdir}/*.so
%exclude %{_libdir}/libtdsodbc.so
%{_includedir}/*
%files doc
%doc docdir/reference
%changelog
* Fri Sep 16 2022 Osama Esmail <osamaesmail@microsoft.com> - 1.1.20-4
- Moved from SPECS-EXTENDED to SPECS
- License verified
* Fri Oct 15 2021 Pawel Winogrodzki <pawelwi@microsoft.com> - 1.1.20-3
- Initial CBL-Mariner import from Fedora 32 (license: MIT).

Просмотреть файл

@ -1,8 +1,15 @@
Name: hunspell-en
Summary: English hunspell dictionaries
%global upstreamid 20140811.1
Summary: English hunspell dictionaries
Name: hunspell-en
Version: 0.%{upstreamid}
Release: 17%{?dist}
Release: 18%{?dist}
# README_en_GB.txt has specified just LGPL which mean LGPLv2+
# scowl/speller/aspell/en_affix.dat is BSD
# scowl/speller/aspell/en_phonet.dat is LGPLv2
License: LGPLv2+ AND LGPLv2 AND BSD
Vendor: Microsoft Corporation
Distribution: Mariner
URL: https://wordlist.sourceforge.net/
Source0: https://github.com/en-wl/wordlist/archive/rel-2014.08.11.1.tar.gz
Source1: http://download.services.openoffice.org/contrib/dictionaries/en_GB.zip
Source2: %{name}-US-LICENSE.txt
@ -32,36 +39,33 @@ Patch9: hunspell-en-fixbuild.patch
Patch10: en_GB.etc.patch
#rhbz#1494968 perl tightened up regex rules
Patch11: perl.regex.patch
URL: http://wordlist.sourceforge.net/
# README_en_GB.txt has specified just LGPL which mean LGPLv2+
# scowl/speller/aspell/en_affix.dat is BSD
# scowl/speller/aspell/en_phonet.dat is LGPLv2
License: LGPLv2+ and LGPLv2 and BSD
Vendor: Microsoft Corporation
Distribution: Mariner
BuildArch: noarch
BuildRequires: aspell, zip, dos2unix, perl-Getopt-Long, gcc-c++
BuildRequires: aspell
BuildRequires: dos2unix
BuildRequires: gcc-c++
BuildRequires: perl-Getopt-Long
BuildRequires: zip
Requires: hunspell
Requires: hunspell-en-US = %{version}-%{release}
Requires: hunspell-en-GB = %{version}-%{release}
Requires: hunspell-en-US = %{version}-%{release}
Supplements: (hunspell and langpacks-en)
BuildArch: noarch
%description
English (US, UK, etc.) hunspell dictionaries
%package US
Requires: hunspell
Summary: US English hunspell dictionaries
License: BSD and LGPLv2
License: BSD AND LGPLv2
Requires: hunspell
%description US
US English hunspell dictionaries
%package GB
Requires: hunspell
Supplements: (hunspell and langpacks-en_GB)
Summary: UK English hunspell dictionaries
License: LGPLv2+
Requires: hunspell
Supplements: (hunspell and langpacks-en_GB)
%description GB
UK English hunspell dictionaries
@ -69,12 +73,12 @@ UK English hunspell dictionaries
%prep
%setup -q -n wordlist-rel-2014.08.11.1
%setup -q -T -D -a 1 -n wordlist-rel-2014.08.11.1
%patch0 -p0 -b .mozilla
%patch0 -b .mozilla
%patch1 -p1 -b .singleletters
%patch2 -p1 -b .two_initial_cap
%patch3 -p0 -b .strippedabbrevs
%patch4 -p0 -b .allow-non-typographical
%patch5 -p0 -b .SI_and_IEC
%patch3 -b .strippedabbrevs
%patch4 -b .allow-non-typographical
%patch5 -b .SI_and_IEC
%patch6 -p1 -b .calender
%patch7 -p1 -b .en_IE
%patch8 -p1 -b .nogit
@ -100,12 +104,12 @@ for i in README_en_CA.txt README_en_US.txt; do
done
%install
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/myspell
cp -p en_??.dic en_??.aff $RPM_BUILD_ROOT/%{_datadir}/myspell
mkdir -p %{buildroot}/%{_datadir}/myspell
cp -p en_??.dic en_??.aff %{buildroot}/%{_datadir}/myspell
cd scowl/speller
cp -p en_??.dic en_??.aff $RPM_BUILD_ROOT/%{_datadir}/myspell
cp -p en_??.dic en_??.aff %{buildroot}/%{_datadir}/myspell
pushd $RPM_BUILD_ROOT/%{_datadir}/myspell/
pushd %{buildroot}/%{_datadir}/myspell/
en_GB_aliases="en_AG en_AU en_BS en_BW en_BZ en_DK en_GH en_HK en_IE en_IN en_JM en_MW en_NA en_NG en_NZ en_SG en_TT en_ZA en_ZM en_ZW"
for lang in $en_GB_aliases; do
ln -s en_GB.aff $lang.aff
@ -136,6 +140,10 @@ popd
%{_datadir}/myspell/en_GB.*
%changelog
* Fri Sep 16 2022 Osama Esmail <osamaesmail@microsoft.com> - 0.20140811.1-18
- Moved from SPECS-EXTENDED to SPECS
- License verified
* Fri Oct 15 2021 Pawel Winogrodzki <pawelwi@microsoft.com> - 0.20140811.1-17
- Initial CBL-Mariner import from Fedora 32 (license: MIT).

Просмотреть файл

@ -0,0 +1,5 @@
{
"Signatures": {
"hunspell-1.7.1.tar.gz": "b2d9c5369c2cc7f321cb5983fda2dbf007dce3d9e17519746840a6f0c4bf7444"
}
}

Просмотреть файл

@ -1,27 +1,27 @@
%define double_profiling_build 1
Name: hunspell
Summary: A spell checker and morphological analyzer library
Version: 1.7.0
Release: 7%{?dist}
Source0: https://github.com/hunspell/hunspell/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
URL: https://github.com/hunspell/hunspell
License: (LGPLv2+ or GPLv2+ or MPLv1.1) and BSD
Name: hunspell
Version: 1.7.1
Release: 1%{?dist}
License: LGPLv2+ OR GPLv2+ OR MPLv1.1
Vendor: Microsoft Corporation
Distribution: Mariner
URL: https://github.com/hunspell/hunspell
Source0: https://github.com/hunspell/hunspell/releases/download/v%{version}/hunspell-%{version}.tar.gz
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gcc-c++
BuildRequires: autoconf, automake, libtool, ncurses-devel, gettext
BuildRequires: gettext
BuildRequires: libtool
BuildRequires: ncurses-devel
BuildRequires: perl-generators
Requires: hunspell-en-US
%ifarch %{ix86} x86_64
BuildRequires: valgrind
%endif
%if %{double_profiling_build}
BuildRequires: words
%endif
Requires: hunspell-en-US
Patch0: 0001-invalid-read-memory-access-624.patch
Patch1: hunspell-1.7.0-print-format.patch
%description
Hunspell is a spell checker and morphological analyzer library and program
@ -30,27 +30,26 @@ character encoding. Hunspell interfaces: Ispell-like terminal interface using
Curses library, Ispell pipe interface, LibreOffice UNO module.
%package devel
Requires: hunspell = %{version}-%{release}, pkgconfig
Summary: Files for developing with hunspell
Requires: hunspell = %{version}-%{release}
Requires: pkg-config
%description devel
Includes and definitions for developing with hunspell
%prep
%setup -q
%patch0 -p1 -b .CVE-2019-16707
%patch1 -p2
%build
autoreconf -vfi
configureflags="--disable-rpath --disable-static --with-ui --with-readline"
%define profilegenerate \
CFLAGS="${RPM_OPT_FLAGS} -fprofile-generate"\
CXXFLAGS="${RPM_OPT_FLAGS} -fprofile-generate"
CFLAGS="%{optflags} -fprofile-generate"\
CXXFLAGS="%{optflags} -fprofile-generate"
%define profileuse \
CFLAGS="${RPM_OPT_FLAGS} -fprofile-use"\
CXXFLAGS="${RPM_OPT_FLAGS} -fprofile-use"
CFLAGS="%{optflags} -fprofile-use"\
CXXFLAGS="%{optflags} -fprofile-use"
%if !%{double_profiling_build}
%configure $configureflags
@ -59,14 +58,14 @@ make %{?_smp_mflags}
#Generate a word list to use for profiling, take half of it to ensure
#that the original word list is then considered to contain correctly
#and incorrectly spelled words
head -n $((`cat /usr/share/dict/words | wc -l`/2)) /usr/share/dict/words |\
head -n $((`cat %{_datadir}/dict/words | wc -l`/2)) %{_datadir}/dict/words |\
sed '/\//d'> words
#generate profiling
%{profilegenerate} %configure $configureflags
make %{?_smp_mflags}
./src/tools/affixcompress words > /dev/null 2>&1
./src/tools/hunspell -d words -l /usr/share/dict/words > /dev/null
./src/tools/hunspell -d words -l %{_datadir}/dict/words > /dev/null
make check
make distclean
@ -74,7 +73,6 @@ make distclean
%{profileuse} %configure $configureflags
make %{?_smp_mflags}
%endif
cd po && make %{?_smp_mflags} update-gmo && cd ..
%check
%ifarch %{ix86} x86_64
@ -83,11 +81,10 @@ make check
%endif
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
rm -f $RPM_BUILD_ROOT/%{_libdir}/*.a
rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
mkdir $RPM_BUILD_ROOT/%{_datadir}/myspell
make DESTDIR=%{buildroot} install
rm -f %{buildroot}/%{_libdir}/*.a
find %{buildroot} -type f -name "*.la" -delete -print
mkdir %{buildroot}/%{_datadir}/myspell
%find_lang %{name}
%ldconfig_scriptlets
@ -122,6 +119,11 @@ mkdir $RPM_BUILD_ROOT/%{_datadir}/myspell
%{_mandir}/man5/hunspell.5.gz
%changelog
* Mon Oct 10 2022 Osama Esmail <osamaesmail@microsoft.com> - 1.7.1-1
- Moved from SPECS-EXTENDED to SPECS
- Upgraded from 1.7.0 to 1.7.1 to address CVE-2019-16707
- Removed patches
* Wed Jun 22 2022 Riken Maharjan <rmaharjan@microsoft.com> - 1.7.0-7
- Patch for the print format issue.
- License verified

Просмотреть файл

@ -26,18 +26,16 @@
Summary: Internet Key Exchange (IKEv1 and IKEv2) implementation for IPsec
Name: libreswan
Version: 4.7
Release: 3%{?dist}
Release: 4%{?dist}
License: GPLv2+
Vendor: Microsoft Corporation
Distribution: Mariner
Group: System Environment/Libraries
Url: https://libreswan.org/
Source0: https://github.com/libreswan/libreswan/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
%if %{with_check}
Source3: https://download.libreswan.org/cavs/ikev1_dsa.fax.bz2
Source4: https://download.libreswan.org/cavs/ikev1_psk.fax.bz2
Source5: https://download.libreswan.org/cavs/ikev2.fax.bz2
%endif
BuildRequires: audit-libs-devel
BuildRequires: bison
@ -195,6 +193,9 @@ certutil -N -d sql:$tmpdir --empty-password
%doc %{_mandir}/*/*
%changelog
* Tue Oct 11 2022 Osama Esmail <osamaesmail@microsoft.com> - 4.7-4
- Removed with_check macro
* Mon Jul 25 2022 Rachel Menge <rachelmenge@microsoft.com> - 4.7-3
- Move from SPECS-EXTENDED to SPECS

Просмотреть файл

@ -1,17 +1,15 @@
Vendor: Microsoft Corporation
Distribution: Mariner
Summary: Voikko is a library for spellcheckers and hyphenators
Name: libvoikko
Version: 4.1.1
Release: 7%{?dist}
Summary: Voikko is a library for spellcheckers and hyphenators
Release: 8%{?dist}
License: GPLv2+
URL: http://voikko.puimula.org
Vendor: Microsoft Corporation
Distribution: Mariner
URL: https://voikko.puimula.org
# The usual format of stable release URLs
Source0: http://www.puimula.org/voikko-sources/%{name}/%{name}-%{version}.tar.gz
# The usual format of test release URLs
#Source0: http://www.puimula.org/htp/testing/%%{name}-%%{version}rc1.tar.gz
BuildRequires: gcc-c++
BuildRequires: python3-devel
# Require the Finnish morphology because Finnish is currently the only language
@ -33,7 +31,7 @@ Hunspell.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig
Requires: pkg-config
%description devel
The %{name}-devel package contains libraries and header files for
@ -49,10 +47,10 @@ tools for testing libvoikko. These tools may also be useful for shell
scripts.
%package -n python3-libvoikko
%{?python_provide:%python_provide python3-libvoikko}
Summary: Python interface to %{name}
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%{?python_provide:%python_provide python3-libvoikko}
%description -n python3-libvoikko
Python interface to libvoikko, library of Finnish language tools.
@ -75,19 +73,20 @@ make %{?_smp_mflags} CXXFLAGS="$CXXFLAGS"
%install
make install INSTALL="install -p" DESTDIR=$RPM_BUILD_ROOT
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
make install INSTALL="install -p" DESTDIR=%{buildroot}
find %{buildroot} -type f -name "*.la" -delete -print
# Remove static archive
find $RPM_BUILD_ROOT -name '*.a' -exec rm -f {} ';'
find %{buildroot} -name '*.a' -exec rm -f {} ';'
# Install the Python interface
install -d $RPM_BUILD_ROOT%{python3_sitelib}
install -pm 0644 python/libvoikko.py $RPM_BUILD_ROOT%{python3_sitelib}/
install -d %{buildroot}%{python3_sitelib}
install -pm 0644 python/libvoikko.py %{buildroot}%{python3_sitelib}/
%ldconfig_scriptlets
%files
%doc ChangeLog COPYING README
%license COPYING
%doc ChangeLog README
%{_libdir}/*.so.*
%files -n voikko-tools
@ -108,6 +107,10 @@ install -pm 0644 python/libvoikko.py $RPM_BUILD_ROOT%{python3_sitelib}/
%{python3_sitelib}/__pycache__/*
%changelog
* Fri Sep 16 2022 Osama Esmail <osamaesmail@microsoft.com> - 4.1.1-8
- Moved from SPECS-EXTENDED to SPECS
- License verified
* Fri Oct 15 2021 Pawel Winogrodzki <pawelwi@microsoft.com> - 4.1.1-7
- Initial CBL-Mariner import from Fedora 32 (license: MIT).

Просмотреть файл

@ -1,25 +1,22 @@
Vendor: Microsoft Corporation
Distribution: Mariner
# debuginfo would be empty
%define debug_package %{nil}
Summary: A description of Finnish morphology written in Malaga (Voikko edition)
Name: malaga-suomi-voikko
Version: 1.19
Release: 12%{?dist}
Summary: A description of Finnish morphology written in Malaga (Voikko edition)
Release: 13%{?dist}
License: GPLv2+
URL: http://voikko.puimula.org
Vendor: Microsoft Corporation
Distribution: Mariner
URL: https://voikko.puimula.org
# The usual format of stable release source URLs
Source0: http://www.puimula.org/voikko-sources/suomi-malaga/suomi-malaga-%{version}.tar.gz
# The usual format of testing release source URLs
#Source0: http://www.puimula.org/htp/testing/suomi-malaga-%{version}rc3.tar.gz
# Patch source: https://src.fedoraproject.org/rpms/malaga-suomi-voikko/blob/a482a6ed75da65c726598e6dffb44f24c36560e1/f/make-it-work-with-python3.patch
Patch0: make-it-work-with-python-3.patch
BuildRequires: malaga >= 7.8
BuildRequires: python3-devel
# debuginfo would be empty
%define debug_package %{nil}
%description
A description of Finnish morphology written in Malaga. This package is built
to support the Voikko spellchecker/hyphenator, it doesn't support the Sukija
@ -34,19 +31,22 @@ make %{?_smp_mflags} voikko PYTHON="%{python3}"
%install
rm -rf $RPM_BUILD_ROOT
# Files differ on big-endian and small-endian archs, and they have different
# names (*_l vs *_b). This is the reason we use %%{_libdir} instead of
# %%{_datadir} and won't noarch the package.
make voikko-install DESTDIR=$RPM_BUILD_ROOT%{_libdir}/voikko
make voikko-install DESTDIR=%{buildroot}%{_libdir}/voikko
%files
%doc ChangeLog CONTRIBUTORS COPYING README README.fi
%license COPYING
%doc ChangeLog CONTRIBUTORS README README.fi
%{_libdir}/voikko
%changelog
* Fri Sep 16 2022 Osama Esmail <osamaesmail@microsoft.com> - 1.19-13
- Moved from SPECS-EXTENDED to SPECS
- License verified
* Fri May 28 2021 Thomas Crain <thcrain@microsoft.com> - 1.19-12
- Initial CBL-Mariner import from Fedora 32 (license: MIT).
- Build with python3 instead of python2

Просмотреть файл

@ -1,29 +1,26 @@
Vendor: Microsoft Corporation
Distribution: Mariner
Summary: A programming language for automatic language analysis
Name: malaga
Version: 7.12
Release: 31%{?dist}
Summary: A programming language for automatic language analysis
Release: 32%{?dist}
License: GPLv2+
URL: http://home.arcor.de/bjoern-beutel/malaga/
Source0: http://home.arcor.de/bjoern-beutel/malaga/%{name}-%{version}.tgz
Vendor: Microsoft Corporation
Distribution: Mariner
URL: https://dynalabs.de/mxp/malaga/
Source0: https://dynalabs.de/mxp/assets/malaga-7.12.tgz
# Fix map_file symbol conflict with samba. Upstream can be considered
# inactive but as libvoikko >= 2.2 doesn't use libmalaga anymore, these kind
# of problems won't probably come up. The only executables in Fedora which
# link to libmalaga currently are the malaga tools.
Patch0: malaga-rename-map_file.diff
Patch0: malaga-rename-map_file.patch
# Malshow needs to be linked with -lm as Fedora's ld doesn't do implicit
# linking anymore
Patch1: malaga-malshow-lm.patch
Patch2: malaga-aarch64.patch
# Disable linking with gtk2
Patch3: disable_gtk2.patch
BuildRequires: gcc
BuildRequires: readline-devel
BuildRequires: glib-devel
BuildRequires: readline-devel
BuildRequires: texinfo
Requires: lib%{name} = %{version}-%{release}
@ -52,7 +49,6 @@ Summary: Library files for %{name}
%description -n lib%{name}
Library files for %{name}.
%prep
%setup -q
%patch0 -p1
@ -68,8 +64,8 @@ sed -i.silent -e 's|--silent||' Makefile.in
%build
%configure --with-readline
cp /usr/bin/install-info /usr/sbin/
export PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
cp %{_bindir}/install-info %{_sbindir}/
export PATH="%{_prefix}/local/sbin:%{_prefix}/local/bin:/sbin:/bin:%{_prefix}/sbin:%{_prefix}/bin:/root/bin"
# Remove rpath,
# https://fedoraproject.org/wiki/Packaging/Guidelines#Removing_Rpath
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
@ -78,14 +74,13 @@ make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT INSTALL_INFO=/usr/bin/install-info INSTALL="install -p"
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
make install DESTDIR=%{buildroot} INSTALL_INFO=%{_bindir}/install-info INSTALL="install -p"
rm -f %{buildroot}%{_infodir}/dir
find %{buildroot} -type f -name "*.la" -delete -print
# Remove static archive
find $RPM_BUILD_ROOT -name '*.a' -exec rm -f {} ';'
find %{buildroot} -name '*.a' -exec rm -f {} ';'
# Change permission of libmalaga.so*
chmod 0755 $RPM_BUILD_ROOT%{_libdir}/libmalaga.so*
chmod 0755 %{buildroot}%{_libdir}/libmalaga.so*
@ -105,8 +100,12 @@ chmod 0755 $RPM_BUILD_ROOT%{_libdir}/libmalaga.so*
%{_libdir}/lib%{name}*.so
%{_includedir}/malaga.h
%changelog
* Fri Sep 16 2022 Osama Esmail <osamaesmail@microsoft.com> - 7.12-32
- Moved from SPECS-EXTENDED to SPECS
- License verified
- Updated source URL
* Fri Apr 30 2021 Pawel Winogrodzki <pawelwi@microsoft.com> - 7.12-31
- Making binaries paths compatible with CBL-Mariner's paths.

Просмотреть файл

Просмотреть файл

Просмотреть файл

@ -1,18 +1,18 @@
Summary: A DSSSL implementation
Name: openjade
Version: 1.3.2
Release: 63%{?dist}
Requires: sgml-common
Release: 64%{?dist}
License: DMIT
Vendor: Microsoft Corporation
Distribution: Mariner
URL: http://openjade.sourceforge.net/
URL: https://openjade.sourceforge.net/
Source: http://download.sourceforge.net/openjade/openjade-%{version}.tar.gz
#config.sub and config.guess from upstream sources (Mar 25th 2013).
#http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
#http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
#I can't get them from autoreconf, because of the very strange openjade structure of config files
Source2:config.guess
Source3:config.sub
Source2: config.guess
Source3: config.sub
#fix build on ppc64
Patch0: openjade-ppc64.patch
#do not link against -lnsl
@ -25,15 +25,12 @@ Patch3: openjade-nola.patch
Patch4: openjade-1.3.2-gcc46.patch
#use Getopt:Std to prevent build failure
Patch5: openjade-getoptperl.patch
License: DMIT
#Last jade version is from Red Hat 6.2
Provides: jade = %{version}-%{release}
BuildRequires: gcc-c++
BuildRequires: opensp-devel
BuildRequires: perl-interpreter
Requires: sgml-common
#Last jade version is from Red Hat 6.2
Provides: jade = %{version}-%{release}
%description
OpenJade is an implementation of the ISO/IEC 10179:1996 standard DSSSL
@ -43,7 +40,6 @@ command-line application and a set of components. The DSSSL engine
inputs an SGML or XML document and can output a variety of formats:
XML, RTF, TeX, MIF (FrameMaker), SGML, or XML.
%prep
%setup -q
%patch0 -p1
@ -57,28 +53,27 @@ XML, RTF, TeX, MIF (FrameMaker), SGML, or XML.
%build
cp -p %{SOURCE2} %{SOURCE3} config/
# more info: rhbz#1306162
export CXXFLAGS="%optflags -fno-lifetime-dse"
export CXXFLAGS="%{optflags} -fno-lifetime-dse"
%configure --disable-static --datadir=%{_datadir}/sgml/%{name}-%{version} \
--enable-splibdir=%{_libdir}
make
%install
rm -rf $RPM_BUILD_ROOT
make install install-man DESTDIR=$RPM_BUILD_ROOT
make install install-man DESTDIR=%{buildroot}
# oMy, othis ois osilly.
ln -s openjade $RPM_BUILD_ROOT/%{_bindir}/jade
echo ".so man1/openjade.1" > $RPM_BUILD_ROOT/%{_mandir}/man1/jade.1
ln -s openjade %{buildroot}/%{_bindir}/jade
echo ".so man1/openjade.1" > %{buildroot}/%{_mandir}/man1/jade.1
# install jade/jade $RPM_BUILD_ROOT/%{prefix}/bin/jade
cp dsssl/catalog $RPM_BUILD_ROOT/%{_datadir}/sgml/%{name}-%{version}/
cp dsssl/{dsssl,style-sheet,fot}.dtd $RPM_BUILD_ROOT/%{_datadir}/sgml/%{name}-%{version}/
cp dsssl/catalog %{buildroot}/%{_datadir}/sgml/%{name}-%{version}/
cp dsssl/{dsssl,style-sheet,fot}.dtd %{buildroot}/%{_datadir}/sgml/%{name}-%{version}/
# add unversioned/versioned catalog and symlink
mkdir -p $RPM_BUILD_ROOT/etc/sgml
cd $RPM_BUILD_ROOT/etc/sgml
mkdir -p %{buildroot}%{_sysconfdir}/sgml
cd %{buildroot}%{_sysconfdir}/sgml
touch %{name}-%{version}-%{release}.soc
ln -s %{name}-%{version}-%{release}.soc %{name}.soc
cd -
@ -87,26 +82,31 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.so $RPM_BUILD_ROOT%{_libdir}/*.la
%post
%{?ldconfig}
/usr/bin/install-catalog --add /etc/sgml/%{name}-%{version}-%{release}.soc \
%{_bindir}/install-catalog --add %{_sysconfdir}/sgml/%{name}-%{version}-%{release}.soc \
%{_datadir}/sgml/%{name}-%{version}/catalog >/dev/null 2>/dev/null || :
%preun
/usr/bin/install-catalog --remove /etc/sgml/%{name}-%{version}-%{release}.soc \
%{_bindir}/install-catalog --remove %{_sysconfdir}/sgml/%{name}-%{version}-%{release}.soc \
%{_datadir}/sgml/%{name}-%{version}/catalog >/dev/null 2>/dev/null || :
%ldconfig_postun
%files
%doc jadedoc/* dsssl/README.jadetex
%doc README COPYING VERSION
%ghost /etc/sgml/%{name}-%{version}-%{release}.soc
/etc/sgml/%{name}.soc
%license COPYING
%doc README VERSION
%ghost %{_sysconfdir}/sgml/%{name}-%{version}-%{release}.soc
%{_sysconfdir}/sgml/%{name}.soc
%{_bindir}/*
%{_libdir}/*.so.*
%{_mandir}/*/*
%{_datadir}/sgml/%{name}-%{version}
%changelog
* Fri Sep 16 2022 Osama Esmail <osamaesmail@microsoft.com> - 1.3.2-64
- Moved from SPECS-EXTENDED to SPECS
- License verified
* Fri Oct 15 2021 Pawel Winogrodzki <pawelwi@microsoft.com> - 1.3.2-63
- Initial CBL-Mariner import from Fedora 32 (license: MIT).

Просмотреть файл

@ -1,26 +1,19 @@
%define _module_build 1
Summary: SGML and XML parser
Name: opensp
Version: 1.5.2
Release: 35%{?dist}
Requires: sgml-common >= 0.5
Provides: bundled(gettext) = 0.14.5
Release: 36%{?dist}
License: MIT
Vendor: Microsoft Corporation
Distribution: Mariner
URL: http://openjade.sourceforge.net/
URL: https://openjade.sourceforge.net/
Source: http://download.sourceforge.net/openjade/OpenSP-%{version}.tar.gz
Patch0: opensp-multilib.patch
Patch1: opensp-nodeids.patch
Patch2: opensp-sigsegv.patch
Patch3: opensp-manpage.patch
License: MIT
BuildRequires: gcc-c++
%if ! 0%{?_module_build}
BuildRequires: xmlto, jadetex
%endif
Requires: sgml-common >= 0.5
Provides: bundled(gettext) = 0.14.5
%description
OpenSP is an implementation of the ISO/IEC 8879:1986 standard SGML
@ -35,7 +28,6 @@ Requires: %{name} = %{version}-%{release}
%description devel
Header files and libtool library for developing applications that use OpenSP.
%prep
%setup -q -n OpenSP-%{version}
%patch0 -p1 -b .multilib
@ -53,41 +45,32 @@ touch lib/parser_inst.cxx
%build
%configure \
%if 0%{?_module_build}
--disable-doc-build \
%endif
--disable-dependency-tracking --disable-static --enable-http \
--enable-default-catalog=%{_sysconfdir}/sgml/catalog \
--enable-default-search-path=%{_datadir}/sgml:%{_datadir}/xml
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
make install DESTDIR=%{buildroot}
# Get rid of libtool libraries
rm $RPM_BUILD_ROOT%{_libdir}/*.la
find %{buildroot} -type f -name "*.la" -delete -print
# oMy, othis ois osilly.
for file in nsgmls sgmlnorm spam spent sx ; do
ln -s o$file $RPM_BUILD_ROOT%{_bindir}/$file
%if ! 0%{?_module_build}
echo ".so man1/o${file}.1" > $RPM_BUILD_ROOT%{_mandir}/man1/${file}.1
%endif
ln -s o$file %{buildroot}%{_bindir}/$file
done
#
# Rename sx to sgml2xml.
mv $RPM_BUILD_ROOT%{_bindir}/sx $RPM_BUILD_ROOT%{_bindir}/sgml2xml
%if ! 0%{?_module_build}
mv $RPM_BUILD_ROOT%{_mandir}/man1/{sx,sgml2xml}.1
%endif
mv %{buildroot}%{_bindir}/sx %{buildroot}%{_bindir}/sgml2xml
#
# Clean out (installed) redundant copies of the docs and DTDs.
rm -rf $RPM_BUILD_ROOT%{_docdir}/OpenSP
rm -rf $RPM_BUILD_ROOT%{_datadir}/OpenSP
rm -rf %{buildroot}%{_docdir}/OpenSP
rm -rf %{buildroot}%{_datadir}/OpenSP
%find_lang sp5
@ -100,24 +83,21 @@ make check || : # TODO: failures as of 1.5.2 :(
%files -f sp5.lang
%if ! 0%{?_module_build}
%doc doc/*.htm
%doc docsrc/releasenotes.html
%endif
%doc AUTHORS BUGS COPYING ChangeLog NEWS README
%license COPYING
%doc AUTHORS BUGS ChangeLog NEWS README
%doc pubtext/opensp-implied.dcl
%{_bindir}/*
%{_libdir}/libosp.so.*
%if ! 0%{?_module_build}
%{_mandir}/man1/*.1*
%endif
%files devel
%{_includedir}/OpenSP/
%{_libdir}/libosp.so
%changelog
* Fri Sep 16 2022 Osama Esmail <osamaesmail@microsoft.com> - 1.5.2-36
- Moved from SPECS-EXTENDED to SPECS
- License verified
* Mon Jan 04 2021 Joe Schmitt <joschmit@microsoft.com> - 1.5.2-35
- Initial CBL-Mariner import from Fedora 32 (license: MIT).
- Enable module build to remove doc dependencies
@ -261,4 +241,3 @@ make check || : # TODO: failures as of 1.5.2 :(
* Tue Nov 29 2005 Terje Bless <link@pobox.com> 1.5.2-0.pre1
- New package OpenSP.

Просмотреть файл

@ -42,6 +42,11 @@ opcache.enable_cli=1
; size of the optimized code.
;opcache.save_comments=1
; If enabled, compilation warnings (including notices and deprecations) will
; be recorded and replayed each time a file is included. Otherwise, compilation
; warnings will only be emitted when the file is first cached.
;opcache.record_warnings=0
; Allow file existence override (file_exists, etc.) performance feature.
;opcache.enable_file_override=0
@ -131,12 +136,12 @@ opcache.huge_code_pages=0
; Specifies a PHP script that is going to be compiled and executed at server
; start-up.
; http://php.net/opcache.preload
; https://php.net/opcache.preload
;opcache.preload=
; Preloading code as root is not allowed for security reasons. This directive
; facilitates to let the preloading to be run as another user.
; http://php.net/opcache.preload_user
; https://php.net/opcache.preload_user
;opcache.preload_user=
; Prevents caching files that are less than this number of seconds old. It

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

@ -0,0 +1,98 @@
diff -up ./ext/date/tests/bug33414-2.phpt.datetests ./ext/date/tests/bug33414-2.phpt
--- ./ext/date/tests/bug33414-2.phpt.datetests 2020-04-09 14:06:11.000000000 +0200
+++ ./ext/date/tests/bug33414-2.phpt 2020-04-09 14:40:00.809433489 +0200
@@ -74,10 +74,10 @@ $strtotime_tstamp = strtotime("next Frid
print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n";
print "wanted=Friday 00:00:00\n\n";
?>
---EXPECT--
+--EXPECTF--
TZ=Pacific/Rarotonga - wrong day.
-tStamp=Thursday 1970-01-01 17:17:17 -1030 0
-result=Tuesday 1970-01-06 00:00:00 -1030 0
+tStamp=Thursday 1970-01-01 17:17:17 %s
+result=Tuesday 1970-01-06 00:00:00 %s
wanted=Tuesday 00:00:00
TZ=Atlantic/South_Georgia - wrong day.
@@ -91,13 +91,13 @@ result=Monday 2005-04-04 00:00:00 EDT 1
wanted=Monday 00:00:00
TZ=Pacific/Enderbury - wrong day, off by 2 days.
-tStamp=Thursday 1970-01-01 17:17:17 -12 0
-result=Monday 1970-01-05 00:00:00 -12 0
+tStamp=Thursday 1970-01-01 17:17:17 %s
+result=Monday 1970-01-05 00:00:00 %s
wanted=Monday 00:00:00
TZ=Pacific/Kiritimati - wrong day, off by 2 days.
-tStamp=Thursday 1970-01-01 17:17:17 -1040 0
-result=Monday 1970-01-05 00:00:00 -1040 0
+tStamp=Thursday 1970-01-01 17:17:17 %s
+result=Monday 1970-01-05 00:00:00 %s
wanted=Monday 00:00:00
TZ=America/Managua - wrong day.
@@ -106,13 +106,13 @@ result=Tuesday 2005-04-12 00:00:00 CDT 1
wanted=Tuesday 00:00:00
TZ=Pacific/Pitcairn - wrong day.
-tStamp=Thursday 1970-01-01 17:17:17 -0830 0
-result=Wednesday 1970-01-07 00:00:00 -0830 0
+tStamp=Thursday 1970-01-01 17:17:17 %s
+result=Wednesday 1970-01-07 00:00:00 %s
wanted=Wednesday 00:00:00
TZ=Pacific/Fakaofo - wrong day.
-tStamp=Thursday 1970-01-01 17:17:17 -11 0
-result=Saturday 1970-01-03 00:00:00 -11 0
+tStamp=Thursday 1970-01-01 17:17:17 %s
+result=Saturday 1970-01-03 00:00:00 %s
wanted=Saturday 00:00:00
TZ=Pacific/Johnston - wrong day.
diff -up ./ext/date/tests/bug66985.phpt.datetests ./ext/date/tests/bug66985.phpt
--- ./ext/date/tests/bug66985.phpt.datetests 2020-04-09 14:06:11.000000000 +0200
+++ ./ext/date/tests/bug66985.phpt 2020-04-09 14:40:37.099288185 +0200
@@ -3,7 +3,7 @@ Bug #66985 (Some timezones are no longer
--FILE--
<?php
$zones = array(
- "CST6CDT", "Cuba", "Egypt", "Eire", "EST5EDT", "Factory", "GB-Eire",
+ "CST6CDT", "Cuba", "Egypt", "Eire", "EST5EDT", "GB-Eire",
"GMT0", "Greenwich", "Hongkong", "Iceland", "Iran", "Israel", "Jamaica",
"Japan", "Kwajalein", "Libya", "MST7MDT", "Navajo", "NZ-CHAT", "Poland",
"Portugal", "PST8PDT", "Singapore", "Turkey", "Universal", "W-SU",
@@ -45,11 +45,6 @@ DateTimeZone Object
)
DateTimeZone Object
(
- [timezone_type] => 3
- [timezone] => Factory
-)
-DateTimeZone Object
-(
[timezone_type] => 3
[timezone] => GB-Eire
)
diff -up ./ext/date/tests/strtotime3-64bit.phpt.datetests ./ext/date/tests/strtotime3-64bit.phpt
--- ./ext/date/tests/strtotime3-64bit.phpt.datetests 2020-04-09 14:06:11.000000000 +0200
+++ ./ext/date/tests/strtotime3-64bit.phpt 2020-04-09 14:40:00.809433489 +0200
@@ -44,7 +44,7 @@ foreach ($strs as $str) {
}
?>
---EXPECT--
+--EXPECTF--
bool(false)
bool(false)
string(31) "Thu, 15 Jun 2006 00:00:00 +0100"
@@ -53,7 +53,7 @@ bool(false)
string(31) "Fri, 16 Jun 2006 23:49:12 +0100"
bool(false)
string(31) "Fri, 16 Jun 2006 02:22:00 +0100"
-string(31) "Sun, 16 Jun 0222 02:22:00 -0036"
+string(31) "Sun, 16 Jun 0222 02:22:00 %s"
string(31) "Fri, 16 Jun 2006 02:22:33 +0100"
bool(false)
string(31) "Tue, 02 Mar 2004 00:00:00 +0000"

Просмотреть файл

@ -1,24 +1,25 @@
--- php-5.6.3/sapi/embed/config.m4.embed
+++ php-5.6.3/sapi/embed/config.m4
@@ -11,7 +11,8 @@ if test "$PHP_EMBED" != "no"; then
case "$PHP_EMBED" in
diff -up ./sapi/embed/config.m4.embed ./sapi/embed/config.m4
--- ./sapi/embed/config.m4.embed 2020-07-07 13:51:05.879764972 +0200
+++ ./sapi/embed/config.m4 2020-07-07 13:52:50.128412148 +0200
@@ -12,7 +12,8 @@ if test "$PHP_EMBED" != "no"; then
yes|shared)
LIBPHP_CFLAGS="-shared"
PHP_EMBED_TYPE=shared
- INSTALL_IT="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(prefix)/lib; \$(INSTALL) -m 0755 $SAPI_SHARED \$(INSTALL_ROOT)\$(prefix)/lib"
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -release \$(PHP_MAJOR_VERSION).\$(PHP_MINOR_VERSION)"
+ INSTALL_IT="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(libdir); \$(LIBTOOL) --mode=install \$(INSTALL) -m 0755 \$(OVERALL_TARGET) \$(INSTALL_ROOT)\$(libdir)"
;;
static)
PHP_EMBED_TYPE=static
diff -up php-5.5.30/scripts/php-config.in.old php-5.5.30/scripts/php-config.in
--- php-5.5.30/scripts/php-config.in.old 2015-10-19 15:17:31.944747715 +0200
+++ php-5.5.30/scripts/php-config.in 2015-10-19 15:17:58.278858083 +0200
LIBPHP_CFLAGS="-static"
diff -up ./scripts/php-config.in.embed ./scripts/php-config.in
--- ./scripts/php-config.in.embed 2020-07-07 12:54:42.000000000 +0200
+++ ./scripts/php-config.in 2020-07-07 13:51:05.880764968 +0200
@@ -18,7 +18,7 @@ exe_extension="@EXEEXT@"
php_cli_binary=NONE
php_cgi_binary=NONE
configure_options="@CONFIGURE_OPTIONS@"
-php_sapis="@PHP_INSTALLED_SAPIS@"
+php_sapis="apache2handler embed fpm @PHP_INSTALLED_SAPIS@"
+php_sapis="apache2handler litespeed fpm phpdbg @PHP_INSTALLED_SAPIS@"
ini_dir="@EXPANDED_PHP_CONFIG_FILE_SCAN_DIR@"
ini_path="@EXPANDED_PHP_CONFIG_FILE_PATH@"

Просмотреть файл

@ -1,7 +1,7 @@
diff -up php-7.2.0alpha0/ext/dba/config.m4.libdb php-7.2.0alpha0/ext/dba/config.m4
--- php-7.2.0alpha0/ext/dba/config.m4.libdb 2017-05-29 08:56:06.000000000 +0200
+++ php-7.2.0alpha0/ext/dba/config.m4 2017-05-29 09:13:52.014823282 +0200
@@ -346,61 +346,13 @@ if test "$PHP_DB4" != "no"; then
diff -up ./ext/dba/config.m4.libdb ./ext/dba/config.m4
--- ./ext/dba/config.m4.libdb 2020-04-09 14:06:11.000000000 +0200
+++ ./ext/dba/config.m4 2020-04-09 14:35:08.208605065 +0200
@@ -375,61 +375,13 @@ if test "$PHP_DB4" != "no"; then
dbdp4="/usr/local/BerkeleyDB.4."
dbdp5="/usr/local/BerkeleyDB.5."
for i in $PHP_DB4 ${dbdp5}1 ${dbdp5}0 ${dbdp4}8 ${dbdp4}7 ${dbdp4}6 ${dbdp4}5 ${dbdp4}4 ${dbdp4}3 ${dbdp4}2 ${dbdp4}1 ${dbdp}0 /usr/local /usr; do
@ -65,21 +65,21 @@ diff -up php-7.2.0alpha0/ext/dba/config.m4.libdb php-7.2.0alpha0/ext/dba/config.
fi
PHP_DBA_STD_RESULT(db4,Berkeley DB4)
diff -up php-7.2.0alpha0/ext/dba/dba.c.libdb php-7.2.0alpha0/ext/dba/dba.c
--- php-7.2.0alpha0/ext/dba/dba.c.libdb 2017-05-29 09:16:15.736628202 +0200
+++ php-7.2.0alpha0/ext/dba/dba.c 2017-05-29 09:16:20.494654746 +0200
@@ -53,6 +53,10 @@
#include "php_tcadb.h"
diff -up ./ext/dba/dba.c.libdb ./ext/dba/dba.c
--- ./ext/dba/dba.c.libdb 2020-04-09 14:06:11.000000000 +0200
+++ ./ext/dba/dba.c 2020-04-09 14:36:30.593275190 +0200
@@ -50,6 +50,10 @@
#include "php_lmdb.h"
#include "dba_arginfo.h"
+#ifdef DB4_INCLUDE_FILE
+#include DB4_INCLUDE_FILE
+#endif
+
/* {{{ arginfo */
ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_popen, 0, 0, 2)
ZEND_ARG_INFO(0, path)
@@ -558,6 +562,10 @@ PHP_MINFO_FUNCTION(dba)
PHP_MINIT_FUNCTION(dba);
PHP_MSHUTDOWN_FUNCTION(dba);
PHP_MINFO_FUNCTION(dba);
@@ -452,6 +456,10 @@ PHP_MINFO_FUNCTION(dba)
php_info_print_table_start();
php_info_print_table_row(2, "DBA support", "enabled");

Просмотреть файл

@ -0,0 +1,16 @@
diff -up ./build/gen_stub.php.syslib ./build/gen_stub.php
--- ./build/gen_stub.php.syslib 2020-06-25 08:11:51.782046813 +0200
+++ ./build/gen_stub.php 2020-06-25 08:13:11.188860368 +0200
@@ -1075,6 +1075,12 @@ function initPhpParser() {
}
$isInitialized = true;
+
+ if (file_exists('/usr/share/php/PhpParser4/autoload.php')) {
+ require_once '/usr/share/php/PhpParser4/autoload.php';
+ return;
+ }
+
$version = "4.13.0";
$phpParserDir = __DIR__ . "/PHP-Parser-$version";
if (!is_dir($phpParserDir)) {

Просмотреть файл

@ -0,0 +1,44 @@
Drop "Configure Command" from phpinfo as it doesn't
provide any useful information.
The available extensions are not related to this command.
Replace full GCC name by gcc in php -v output
diff -up ./ext/standard/info.c.phpinfo ./ext/standard/info.c
--- ./ext/standard/info.c.phpinfo 2020-07-21 10:49:31.000000000 +0200
+++ ./ext/standard/info.c 2020-07-21 11:41:56.295633523 +0200
@@ -805,9 +805,6 @@ PHPAPI ZEND_COLD void php_print_info(int
#ifdef PHP_BUILD_ARCH
php_info_print_table_row(2, "Architecture", PHP_BUILD_ARCH);
#endif
-#ifdef CONFIGURE_COMMAND
- php_info_print_table_row(2, "Configure Command", CONFIGURE_COMMAND );
-#endif
if (sapi_module.pretty_name) {
php_info_print_table_row(2, "Server API", sapi_module.pretty_name );
diff -up ./ext/standard/tests/general_functions/phpinfo.phpt.phpinfo ./ext/standard/tests/general_functions/phpinfo.phpt
--- ./ext/standard/tests/general_functions/phpinfo.phpt.phpinfo 2020-07-21 10:49:31.000000000 +0200
+++ ./ext/standard/tests/general_functions/phpinfo.phpt 2020-07-21 11:41:56.296633522 +0200
@@ -17,7 +17,6 @@ PHP Version => %s
System => %s
Build Date => %s%a
-Configure Command => %s
Server API => Command Line Interface
Virtual Directory Support => %s
Configuration File (php.ini) Path => %s
diff -up ./sapi/cli/php_cli.c.phpinfo ./sapi/cli/php_cli.c
--- ./sapi/cli/php_cli.c.phpinfo 2020-07-21 11:43:38.812475300 +0200
+++ ./sapi/cli/php_cli.c 2020-07-21 11:43:45.783464540 +0200
@@ -645,7 +645,7 @@ static int do_cli(int argc, char **argv)
"NTS"
#endif
#ifdef PHP_BUILD_COMPILER
- " " PHP_BUILD_COMPILER
+ " gcc"
#endif
#ifdef PHP_BUILD_ARCH
" " PHP_BUILD_ARCH

Просмотреть файл

@ -5,6 +5,10 @@ Add support for use of the system timezone database, rather
than embedding a copy. Discussed upstream but was not desired.
History:
r22: retrieve tzdata version from /usr/share/zoneinfo/tzdata.zi
r21: adapt for timelib 2021.03 (in 8.1.0)
r20: adapt for timelib 2020.03 (in 8.0.10RC1)
r19: adapt for timelib 2020.02 (in 8.0.0beta2)
r18: adapt for autotool change in 7.3.3RC1
r17: adapt for timelib 2018.01 (in 7.3.2RC1)
r16: adapt for timelib 2017.06 (in 7.2.3RC1)
@ -29,10 +33,11 @@ r3: fix a crash if /usr/share/zoneinfo doesn't exist (Raphael Geissert)
r2: add filesystem trawl to set up name alias index
r1: initial revision
diff -up php-7.3.3RC1/ext/date/config0.m4.systzdata php-7.3.3RC1/ext/date/config0.m4
--- php-7.3.3RC1/ext/date/config0.m4.systzdata 2019-02-19 14:57:51.314601701 +0100
+++ php-7.3.3RC1/ext/date/config0.m4 2019-02-19 14:58:29.050812587 +0100
@@ -9,6 +9,19 @@ io.h
diff --git a/ext/date/config0.m4 b/ext/date/config0.m4
index 18b8106bd2..3d1f63c758 100644
--- a/ext/date/config0.m4
+++ b/ext/date/config0.m4
@@ -4,6 +4,19 @@ AC_CHECK_HEADERS([io.h])
dnl Check for strtoll, atoll
AC_CHECK_FUNCS(strtoll atoll)
@ -49,13 +54,14 @@ diff -up php-7.3.3RC1/ext/date/config0.m4.systzdata php-7.3.3RC1/ext/date/config
+ fi
+fi
+
PHP_DATE_CFLAGS="-I@ext_builddir@/lib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -DHAVE_TIMELIB_CONFIG_H=1"
timelib_sources="lib/astro.c lib/dow.c lib/parse_date.c lib/parse_tz.c
PHP_DATE_CFLAGS="-Wno-implicit-fallthrough -I@ext_builddir@/lib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -DHAVE_TIMELIB_CONFIG_H=1"
timelib_sources="lib/astro.c lib/dow.c lib/parse_date.c lib/parse_tz.c lib/parse_posix.c
lib/timelib.c lib/tm2unixtime.c lib/unixtime2tm.c lib/parse_iso_intervals.c lib/interval.c"
diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/lib/parse_tz.c
--- php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata 2019-02-19 12:18:27.000000000 +0100
+++ php-7.3.3RC1/ext/date/lib/parse_tz.c 2019-02-19 14:57:20.397428931 +0100
@@ -25,8 +25,21 @@
diff --git a/ext/date/lib/parse_tz.c b/ext/date/lib/parse_tz.c
index e41315efdb..4b6547c0a3 100644
--- a/ext/date/lib/parse_tz.c
+++ b/ext/date/lib/parse_tz.c
@@ -26,9 +26,22 @@
#include "timelib.h"
#include "timelib_private.h"
@ -70,6 +76,7 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li
+
+#else
#define TIMELIB_SUPPORTS_V2DATA
#define TIMELIB_SUPPORT_SLIM_FILE
#include "timezonedb.h"
+#endif
+
@ -77,7 +84,7 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li
#if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__))
# if defined(__LITTLE_ENDIAN__)
@@ -87,6 +100,11 @@ static int read_php_preamble(const unsig
@@ -95,6 +108,11 @@ static int read_php_preamble(const unsigned char **tzf, timelib_tzinfo *tz)
{
uint32_t version;
@ -89,11 +96,11 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li
/* read ID */
version = (*tzf)[3] - '0';
*tzf += 4;
@@ -411,7 +429,429 @@ void timelib_dump_tzinfo(timelib_tzinfo
@@ -577,7 +595,467 @@ void timelib_dump_tzinfo(timelib_tzinfo *tz)
}
}
-static int seek_to_tz_position(const unsigned char **tzf, char *timezone, const timelib_tzdb *tzdb)
-static int seek_to_tz_position(const unsigned char **tzf, const char *timezone, const timelib_tzdb *tzdb)
+#ifdef HAVE_SYSTEM_TZDATA
+
+#ifdef HAVE_SYSTEM_TZDATA_PREFIX
@ -319,6 +326,44 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li
+ return timelib_strcasecmp(alpha->id, beta->id);
+}
+
+/* Retrieve tzdata version. */
+static void retrieve_zone_version(timelib_tzdb *db)
+{
+ static char buf[30];
+ char path[PATH_MAX];
+ FILE *fp;
+
+ strncpy(path, ZONEINFO_PREFIX "/tzdata.zi", sizeof(path));
+
+ fp = fopen(path, "r");
+ if (fp) {
+ if (fgets(buf, sizeof(buf), fp)) {
+ if (!memcmp(buf, "# version ", 10) &&
+ isdigit(buf[10]) &&
+ isdigit(buf[11]) &&
+ isdigit(buf[12]) &&
+ isdigit(buf[13]) &&
+ islower(buf[14])) {
+ if (buf[14] >= 't') { /* 2022t = 2022.20 */
+ buf[17] = 0;
+ buf[16] = buf[14] - 't' + '0';
+ buf[15] = '2';
+ } else if (buf[14] >= 'j') { /* 2022j = 2022.10 */
+ buf[17] = 0;
+ buf[16] = buf[14] - 'j' + '0';
+ buf[15] = '1';
+ } else { /* 2022a = 2022.1 */
+ buf[16] = 0;
+ buf[15] = buf[14] - 'a' + '1';
+ }
+ buf[14] = '.';
+ db->version = buf+10;
+ }
+ }
+ fclose(fp);
+ }
+}
+
+
+/* Create the zone identifier index by trawling the filesystem. */
+static void create_zone_index(timelib_tzdb *db)
@ -516,15 +561,15 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li
+
+#endif
+
+static int inmem_seek_to_tz_position(const unsigned char **tzf, char *timezone, const timelib_tzdb *tzdb)
+static int inmem_seek_to_tz_position(const unsigned char **tzf, const char *timezone, const timelib_tzdb *tzdb)
{
int left = 0, right = tzdb->index_size - 1;
@@ -437,9 +877,48 @@ static int seek_to_tz_position(const uns
@@ -603,9 +1081,49 @@ static int seek_to_tz_position(const unsigned char **tzf, const char *timezone,
return 0;
}
+static int seek_to_tz_position(const unsigned char **tzf, char *timezone,
+static int seek_to_tz_position(const unsigned char **tzf, const char *timezone,
+ char **map, size_t *maplen,
+ const timelib_tzdb *tzdb)
+{
@ -557,6 +602,7 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li
+ tmp->version = "0.system";
+ tmp->data = NULL;
+ create_zone_index(tmp);
+ retrieve_zone_version(tmp);
+ system_location_table = create_location_table();
+ fake_data_segment(tmp, system_location_table);
+ timezonedb_system = tmp;
@ -569,8 +615,8 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li
}
const timelib_tzdb_index_entry *timelib_timezone_identifiers_list(const timelib_tzdb *tzdb, int *count)
@@ -451,7 +930,30 @@ const timelib_tzdb_index_entry *timelib_
int timelib_timezone_id_is_valid(char *timezone, const timelib_tzdb *tzdb)
@@ -617,7 +1135,30 @@ const timelib_tzdb_index_entry *timelib_timezone_identifiers_list(const timelib_
int timelib_timezone_id_is_valid(const char *timezone, const timelib_tzdb *tzdb)
{
const unsigned char *tzf;
- return (seek_to_tz_position(&tzf, timezone, tzdb));
@ -601,8 +647,8 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li
}
static int skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz)
@@ -493,12 +995,14 @@ static timelib_tzinfo* timelib_tzinfo_ct
timelib_tzinfo *timelib_parse_tzfile(char *timezone, const timelib_tzdb *tzdb, int *error_code)
@@ -662,6 +1203,8 @@ static timelib_tzinfo* timelib_tzinfo_ctor(const char *name)
timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *tzdb, int *error_code)
{
const unsigned char *tzf;
+ char *memmap = NULL;
@ -610,16 +656,18 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li
timelib_tzinfo *tmp;
int version;
int transitions_result, types_result;
unsigned int type; /* TIMELIB_TZINFO_PHP or TIMELIB_TZINFO_ZONEINFO */
@@ -669,7 +1212,7 @@ timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *t
*error_code = TIMELIB_ERROR_NO_ERROR;
- if (seek_to_tz_position(&tzf, timezone, tzdb)) {
+ if (seek_to_tz_position(&tzf, timezone, &memmap, &maplen, tzdb)) {
tmp = timelib_tzinfo_ctor(timezone);
version = read_preamble(&tzf, tmp, &type);
@@ -537,11 +1041,36 @@ timelib_tzinfo *timelib_parse_tzfile(cha
@@ -712,11 +1255,36 @@ timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *t
return NULL;
}
skip_posix_string(&tzf, tmp);
+#ifdef HAVE_SYSTEM_TZDATA
+ if (memmap) {
@ -654,3 +702,19 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li
} else {
*error_code = TIMELIB_ERROR_NO_SUCH_TIMEZONE;
tmp = NULL;
diff --git a/ext/date/php_date.c b/ext/date/php_date.c
index cf4a11b8a2..cd49abc78d 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -457,7 +457,11 @@ PHP_MINFO_FUNCTION(date)
php_info_print_table_row(2, "date/time support", "enabled");
php_info_print_table_row(2, "timelib version", TIMELIB_ASCII_VERSION);
php_info_print_table_row(2, "\"Olson\" Timezone Database Version", tzdb->version);
+#ifdef HAVE_SYSTEM_TZDATA
+ php_info_print_table_row(2, "Timezone Database", "system");
+#else
php_info_print_table_row(2, "Timezone Database", php_date_global_timezone_db_enabled ? "external" : "internal");
+#endif
php_info_print_table_row(2, "Default timezone", guess_timezone(tzdb));
php_info_print_table_end();

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше