Commit Graph

34 Commits

Author SHA1 Message Date
Matthew Krupcale
b9c3486428 Add patch for OpenSSL v3.2.0
Add a patch [1] to silence warnings from OpenSSL v3.2.0-v3.2.1 for reading from
stdin without using -in [2,3]. This will be fixed by upstream OpenSSL v3.2.2 and
v3.3.0 as well [4].

[1] https://git.build2.org/cgit/bpkg/commit/?id=40bb034f57cf37c1cbdcef337733507c230c6004
[2] https://github.com/build2/build2/issues/353
[3] https://github.com/build2/build2/issues/379
[4] https://github.com/openssl/openssl/pull/23526
2024-04-24 20:24:07 -04:00
Matthew Krupcale
f069aa603a Bump release and rebuild for libpkgconf ABI changes
libpkgconf-0:2.1.0-1.fc40 broke libpkgconf.so.4() ABI without bumping its
soname. See <https://github.com/pkgconf/pkgconf/issues/347>. In particular, the
types pkgconf_client_t and pkgconf_pkg_t changed ABI in a way that could break
the way libbuild2 uses it, so we must rebuild.

 * build2.spec: bump release and rebuild for libpkgconf ABI changes
2024-04-20 11:03:16 -04:00
Fedora Release Engineering
6b97e3e858 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-23 00:56:36 +00:00
Fedora Release Engineering
a04e4e96d4 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 14:48:52 +00:00
Matthew Krupcale
23cf0d66a4 Update to v0.16.0
* .gitignore, sources: Update to v0.16.0
 * bpkg-git-v2.38.patch: delete
 * build2.spec:
    - Update to v0.16.0
    - Remove patches
    - Add libbuild2-cli module
 * libbuild2-cxx23-aligned_storage-deprecation.patch: delete
 * libbuild2-libpkgconf-error_handler-non-const-data.patch: likewise
2023-08-31 19:05:26 -04:00
Fedora Release Engineering
37daaa0460 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 15:03:20 +00:00
Matthew Krupcale
2051d00248 Re-enable C++ modules tests on PPC64LE
The latest GNU toolchain in Fedora 38 [1] no longer seems to cause some of the
modules tests to fail on PPC64LE [2], so we can remove that patch now.

 * build2-disable-test-cc-modules-ppc64le.patch: delete
 * build2.spec: remove ppc64le modules tests patch and update changelog

[1] https://fedoraproject.org/wiki/Changes/GNUToolchainF38
[2] https://lists.build2.org/archives/users/2021-November/000921.html
2023-03-04 16:28:18 -05:00
Matthew Krupcale
c5058c3ce3 Add patches for git v2.38, libpkgconf v1.9.0, and C++23 std::aligned_storage
Fedora updates to git, libpkgconf, and GCC require some additional patches [1]
to build2 to build and run correctly. These patches [2-4] are now upstreamed,
and we apply them here.

 * bpkg-git-v2.38.patch: patch for git v2.38 dropping submodule--helper commands
 * build2.spec: use and apply new patches
 * libbuild2-cxx23-aligned_storage-deprecation.patch: patch for C++23
   std::aligned_storage deprecation
 * libbuild2-libpkgconf-error_handler-non-const-data.patch: patch for libpkgconf
   v1.9.0 changing the error handler function signature

[1] https://lists.build2.org/archives/users/2023-March/001014.html
[2] https://git.build2.org/cgit/bpkg/commit/?id=a97b12a027546b37f66d3e08064f92f5539cf79e
[3] https://git.build2.org/cgit/build2/commit/?id=343d6e69e412166cfc21f268a51b692cb0201653
[4] https://git.build2.org/cgit/build2/commit/?id=417be15231cb34a2e858d26b63406d1fb5535cb9
2023-03-04 16:24:26 -05:00
Matthew Krupcale
9d2dffd36e Switch to SPDX license expressions
The License field should use SPDX license expressions [1], so do that.

 * build2.spec: use SPDX license expressions

[1] https://docs.fedoraproject.org/en-US/legal/license-field/
2023-03-04 16:24:26 -05:00
Fedora Release Engineering
bae231dfaa Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-18 23:16:17 +00:00
Matthew Krupcale
9575259c4d Update to v0.15.0
* .gitignore, sources: Update to v0.15.0
 * bpkg-openssl-3-pkeyutl.patch: delete
 * build2.spec:
    - Update to v0.15.0
    - Remove patches
    - Use config.build2.libpkgconf=true to build with system libpkgconf [1]
    - Use config.import.build2 to allow bpkg to import and build against libbuild2*
 * libbuild2-config.install.scope-no-update-for-install.patch: delete
 * libbutl-lz4-typdef-unalign.patch: likewise
 * libbutl-openssl-info-overloads.patch: likewise

[1] https://lists.build2.org/archives/users/2022-July/001000.html
2022-07-30 19:32:23 -04:00
Fedora Release Engineering
4a40a01954 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-20 22:21:24 +00:00
Matthew Krupcale
9be02387f2 Undefine _auto_set_build_flags
Fedora 36 and on will automatically set and export build flags during %build,
%check, and %install phases of RPM builds [1]. This is unnecessary for build2
since those flags are already set by the config.* options, so undefine
_auto_set_build_flags to disable this.

 * build2.spec: undefine _auto_set_build_flags

[1] https://fedoraproject.org/wiki/Changes/SetBuildFlagsBuildCheck
2022-01-27 21:15:05 -05:00
Matthew Krupcale
9c58f37813 Add 64-bit flags for 32-bit arches and ignore use-after-free warnings on arm32
Some of the tests include reading x509 public key certificates with dates that
may be beyond the 32-bit time_t. So force those archs to use 64-bit time_t and
file offsets with _TIME_BITS=64 and _FILE_OFFSET_BITS=64, respectively.

Also silence false-positive use-after-free warnings appearing on arm32 which
cause test failures due to unexpected stderr output.

 * build2.spec: add 64-bit flags for 32-bit archs and ignore use-after-free
   warnings on arm32
2022-01-27 21:09:43 -05:00
Matthew Krupcale
e6b493b13d Explicitly define CC and CFLAGS for bootstrap builds
build2 does not directly build any C code since it instead directly #include's
bundled C dependencies in C++ TUs, but this premptively ensures that if this
were to change we build such C code with the proper flags.

Non-bootstrap builds already define the proper C flags through the use of the
%build2 or %build2_configure macros.

 * build2.spec: define CC and CFLAGS for bootstrap builds
2022-01-27 21:08:01 -05:00
Matthew Krupcale
0fc4f977bf Add libbutl lz4 patch
libbutl bundles lz4[1] and builds it as an amalgamated translation unit in
lz4.cxx, but there is a conflicting typdef unalign in lz4.c and xxhash.c. This
patch [2] renames the lz4.c typedef to not conflict with that defined in
xxhash.c. See also the upstream issue [3].

 * build2.spec: add libbutl lz4 patch to Patches and apply during %setup
 * libbutl-lz4-typdef-unalign.patch: add libbutl lz4 patch

[1] https://github.com/lz4/lz4
[2] https://git.build2.org/cgit/libbutl/commit/?id=23c07078a9f2790b96a6ee6a6183911aaec71533
[3] https://github.com/lz4/lz4/issues/1053
2022-01-27 21:07:03 -05:00
Matthew Krupcale
babacf4446 Update to v0.14.0
* .gitignore, sources: Update to v0.14.0
 * bpkg-openssl-3-pkeyutl.patch, libbutl-openssl-info-overloads.patch: add patches for OpenSSL v3.0 support [1]
 * build2-disable-test-cc-modules-ppc64le.patch: add patch to disable failing C++ modules tests on PPC64LE
 * build2.spec:
    - Update to v0.14.0
    - Re-enable bootstrap required for this releas
    - Update comments on libbutl license
    - Use config.install.etc for specifying system configuration file directory
    - Use config.install.scope to prevent installing statically built, bundled libodb [2,3]
 * libbuild2-config.install.scope-no-update-for-install.patch: add patch to make config.install.scope not apply during update-for-install pre-operation [3]
 * macros.build2:
    - Use config.install.legal for specifying system configuration file directory

[1] https://lists.build2.org/archives/users/2021-November/000923.html
[2] https://lists.build2.org/archives/announce/2021/000021.html
[3] https://lists.build2.org/archives/users/2021-November/000919.html
2022-01-23 18:36:38 -05:00
Fedora Release Engineering
740f047cb9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-19 22:40:54 +00:00
Fedora Release Engineering
20da0b9305 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 18:57:08 +00:00
Fedora Release Engineering
7cbb838671 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 13:59:47 +00:00
Fedora Release Engineering
92f1d419a5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 01:28:12 +00:00
Fedora Release Engineering
a784f3a9c4 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 00:17:07 +00:00
Fedora Release Engineering
5197d7e106 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 13:28:12 +00:00
Matthew Krupcale
e3db101ac4 Disable bootstrap
We had to bootstrap v0.13.0 due to the use of new config directive

 * build2.spec: disable bootstrap
2020-07-25 14:19:00 -04:00
Matthew Krupcale
44467c6123 Update to v0.13.0
* build2-libbuild2-buildfile-host_config-config.install.chroot-remove.patch: Delete.
 * .gitignore, sources: Update to v0.13.0
 * build2.spec:
    - Update to v0.13.0
    - Re-enable bootstrap required for this release due to use of new config directive
    - Add common pkg-config file to -devel library subpackages
    - Remove CONTRIBUTING.md
    - Add AUTHORS, COPYRIGHT, and LEGAL files to license files
    - Use config.install.legal for specifying license directory
 * macros.build2:
    - Use config.install.legal for specifying license directory
2020-07-20 11:19:48 -04:00
Fedora Release Engineering
934fd95bf1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 13:23:36 +00:00
Matthew Krupcale
4e123901c7 Disable bootstrap
Now that build2 is in the official repositories, we do not need to bootstrap anymore.

Note that we had to bootstrap v0.12.0 as well due to the libbuild2 restructuring from this release requiring bootstrap.

 * build2.spec: disable bootstrap
2019-11-22 10:22:11 -05:00
Matthew Krupcale
78e723f604 Update to v0.12.0
This update includes a major restructuring which breaks build2 into a library, libbuild2, and its bundled build module libraries, libbuild-{bash,bin,c,cc,cxx,in,version}. Thus, this also adds libbuild2{,-devel,-static} subpackages and moves some runtime requirements from build2 to the libbuild2 package.

 * .gitignore, build2.spec, sources: Update to v0.12.0
 * build2-libbuild2-buildfile-host_config-config.install.chroot-remove.patch: Upstream patch removing confit.install.chroot from libbuild2 host configuration. This prevents $RPM_BUILD_ROOT from appearing in libbuild2.
2019-11-22 09:04:22 -05:00
Matthew Krupcale
b4d4e4f59b Remove PostScript documentation UTF-8 encoding conversion
This is fixed upstream[1] and is not strictly correct in any case since PostScript uses its own encoding[2].

 * build2.spec: Remove PostScript documentation UTF-8 encoding conversion

[1] https://git.build2.org/cgit/build2/commit/?id=8ceb809c28f663bb1473722de3c6a24319888e61
[2] https://en.wikipedia.org/wiki/PostScript_Latin_1_Encoding
2019-11-22 07:30:53 -05:00
Matthew Krupcale
1a35b340fb Add missing Requires: pkgconfig for -devel packages
This ensures that %{_libdir}/pkgconfig exists for the pkg-config files installed by the -devel packages

 * build2.spec: Add Requires: pkgconfig for -devel packages
2019-11-22 07:30:53 -05:00
Matthew Krupcale
3b77ad7d3f Remove unnecessary %ldconfig_scriptlets
Since F28, these scriptlets are unnecessary and are handled by RPM file triggers[1].

 * build2.spec: Remove %ldconfig_scriptlets

[1] https://fedoraproject.org/wiki/Changes/Removing_ldconfig_scriptlets
2019-11-22 07:30:53 -05:00
Fedora Release Engineering
fc4effcfca - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-24 19:39:55 +00:00
Matthew Krupcale
362b3f8527 Initial packaging
This is the initial Fedora build2 package specification. It includes sub-packages for the build2 toolchain, such as bpkg and bdep and their corresponding libraries.

 * .gitignore: ignore source archives
 * build2.spec: initial build2 spec file
 * macros.build2: build2 RPM macros
 * sources: source archive hashes
2019-06-11 16:49:37 -04:00
Gwyn Ciesla
cfafb35e05 Added the README 2019-03-11 00:20:33 +00:00