Initial import to c9s from internal module
Resolves: RHEL-69789
This commit is contained in:
parent
643183e04b
commit
a790571422
2
distutils.cfg
Normal file
2
distutils.cfg
Normal file
@ -0,0 +1,2 @@
|
||||
[install]
|
||||
prefix=/app
|
129
flatpak-rpm-macros.spec
Normal file
129
flatpak-rpm-macros.spec
Normal file
@ -0,0 +1,129 @@
|
||||
Name: flatpak-rpm-macros
|
||||
Version: 34
|
||||
Release: 1%{?dist}
|
||||
Summary: Macros for building RPMS for flatpaks
|
||||
Source0: macros.flatpak
|
||||
Source1: distutils.cfg
|
||||
Source2: flatpak.xml
|
||||
Source3: fontconfig-flatpak.prov
|
||||
License: MIT
|
||||
|
||||
# Buildrequire these to satisfy Pyton byte-compilation hooks
|
||||
BuildRequires: python3
|
||||
|
||||
%description
|
||||
The macros in this package set up the RPM build environment so built
|
||||
applications install in /app rather than /usr. This package is meant
|
||||
only for installation in buildroots for modules that will be packaged
|
||||
as Flatpaks.
|
||||
|
||||
%prep
|
||||
|
||||
%build
|
||||
|
||||
%install
|
||||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm
|
||||
install -t $RPM_BUILD_ROOT%{_sysconfdir}/rpm -p -m 644 %{SOURCE0}
|
||||
for v in 3.9 ; do
|
||||
mkdir -p $RPM_BUILD_ROOT%{_libdir}/python$v/distutils/
|
||||
install -t $RPM_BUILD_ROOT%{_libdir}/python$v/distutils/ %{SOURCE1}
|
||||
done
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/xmvn/config.d
|
||||
install -t $RPM_BUILD_ROOT%{_datadir}/xmvn/config.d -m 644 %{SOURCE2}
|
||||
mkdir -p $RPM_BUILD_ROOT%{_rpmconfigdir}
|
||||
install -t $RPM_BUILD_ROOT%{_rpmconfigdir} -m 755 %{SOURCE3}
|
||||
|
||||
%files
|
||||
# The location in sysconfdir contradicts
|
||||
# https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_of_Additional_RPM_Macros
|
||||
# but I believe is necessary to properly override macros that are otherwise set.
|
||||
%{_sysconfdir}/rpm/
|
||||
%{_libdir}/python*/distutils/distutils.cfg
|
||||
%{_datadir}/xmvn/config.d/flatpak.xml
|
||||
%{_rpmconfigdir}/fontconfig-flatpak.prov
|
||||
|
||||
%changelog
|
||||
* Tue Jun 29 2021 Kalev Lember <klember@redhat.com> - 34-1
|
||||
- Override RPM's fontconfig auto-provide to handle /app/share/fonts
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 33-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Sat Sep 19 2020 Kalev Lember <klember@redhat.com> - 33-2
|
||||
- Redefine __python2 macro to point to /app/bin/python2
|
||||
|
||||
* Mon Sep 14 2020 Kalev Lember <klember@redhat.com> - 33-1
|
||||
- Update %%python_sitearch for python-3.9
|
||||
|
||||
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 32-4
|
||||
- Second attempt - Rebuilt for
|
||||
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 32-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Wed Mar 18 2020 Kalev Lember <klember@redhat.com> - 32-2
|
||||
- Remove Python 2 support (#1805232)
|
||||
|
||||
* Wed Mar 18 2020 Stephan Bergmann <sbergman@redhat.com> - 32-1
|
||||
- Let xmvn_install store artifacts under /app
|
||||
|
||||
* Thu Feb 06 2020 David King <amigadave@amigadave.com> - 29-12
|
||||
- Update %%python_sitearch for python-3.8 (#1799346)
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 29-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 29-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Thu Jun 20 2019 Kalev Lember <klember@redhat.com> - 29-9
|
||||
- Use optflags, rather than __global_compiler_flags
|
||||
|
||||
* Thu Apr 04 2019 Stephan Bergmann <sbergman@redhat.com> - 29-8
|
||||
- Add CFLAGS and CXXFLAGS to macros.flatpak, to match LDFLAGS
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 29-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Thu Sep 27 2018 Owen Taylor <otaylor@redhat.com> - 29-6
|
||||
- Fix accidentally not installing the macro file
|
||||
|
||||
* Thu Sep 27 2018 Owen Taylor <otaylor@redhat.com> - 29-5
|
||||
- Install a distutils.cfg to redirect installation of Python packages to /app
|
||||
this makes the package no longer noarch because the file is in
|
||||
/usr/lib or /usr/lib64.
|
||||
|
||||
* Tue Sep 25 2018 Owen Taylor <otaylor@redhat.com> - 29-4
|
||||
- Remove space in -L <libdir>
|
||||
|
||||
* Thu Sep 20 2018 Owen Taylor <otaylor@redhat.com> - 29-3
|
||||
- Extend set of overriden Python macros
|
||||
|
||||
* Wed Sep 19 2018 Owen Taylor <otaylor@redhat.com> - 29-2
|
||||
- Improve LDFLAGS flags handling in macros.flatpak
|
||||
|
||||
* Sat Sep 8 2018 Owen Taylor <otaylor@redhat.com> - 29-1
|
||||
- Instead of defining %%app to true, define %%flatpak to 1
|
||||
- Update %%python_sitearch for python-3.7
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 27-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 27-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 27-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 27-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Tue Jun 13 2017 Owen Taylor <otaylor@redhat.com> - 27-2
|
||||
See https://bugzilla.redhat.com/show_bug.cgi?id=1460076
|
||||
- Wrap description lines
|
||||
- Own /etc/rpm, to avoid requiring rpm package
|
||||
- Preserve timestamp on installation
|
||||
|
||||
* Wed May 31 2017 Owen Taylor <otaylor@redhat.com> - 27-1
|
||||
- Initial version, based on work by Alex Larsson <alexl@redhat.com>
|
72
flatpak.xml
Normal file
72
flatpak.xml
Normal file
@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="US-ASCII"?>
|
||||
<configuration xmlns="http://fedorahosted.org/xmvn/CONFIG/2.0.0">
|
||||
<repositories>
|
||||
<!-- Repositories flatpak-jar and flatpak-jni are copies of base-jar and
|
||||
base-jni from /usr/share/xmvn/configuration.xml (javapackages-tools),
|
||||
with "usr" replaced by "app": -->
|
||||
<repository>
|
||||
<id>flatpak-jar</id>
|
||||
<type>jpp</type>
|
||||
<properties>
|
||||
<root>app/share/java</root>
|
||||
</properties>
|
||||
<filter>
|
||||
<or>
|
||||
<and>
|
||||
<equals>
|
||||
<extension/>
|
||||
<string>jar</string>
|
||||
</equals>
|
||||
<not>
|
||||
<equals>
|
||||
<property>native</property>
|
||||
<string>true</string>
|
||||
</equals>
|
||||
</not>
|
||||
</and>
|
||||
<!-- Maybe /app/share/java is not the best place to store
|
||||
ZIP files, but packages are doing so anyways and
|
||||
allowing ZIPs here simplifies packaging. TODO: find a
|
||||
better location for ZIP files. -->
|
||||
<equals>
|
||||
<extension/>
|
||||
<string>zip</string>
|
||||
</equals>
|
||||
</or>
|
||||
</filter>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>flatpak-jni</id>
|
||||
<type>jpp</type>
|
||||
<properties>
|
||||
<root>app/lib/java</root>
|
||||
</properties>
|
||||
<filter>
|
||||
<and>
|
||||
<equals>
|
||||
<extension/>
|
||||
<string>jar</string>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>native</property>
|
||||
<string>true</string>
|
||||
</equals>
|
||||
</and>
|
||||
</filter>
|
||||
</repository>
|
||||
<!-- Repository install overrides the repository of the same name from
|
||||
/usr/share/xmvn/configuration.xml (javapackages-tools), prepending the
|
||||
above flatpak-jar and flatpak-jni: -->
|
||||
<repository>
|
||||
<id>install</id>
|
||||
<type>compound</type>
|
||||
<configuration>
|
||||
<repositories>
|
||||
<repository>flatpak-jar</repository>
|
||||
<repository>flatpak-jni</repository>
|
||||
<repository>base-install</repository>
|
||||
</repositories>
|
||||
</configuration>
|
||||
</repository>
|
||||
</repositories>
|
||||
</configuration>
|
24
fontconfig-flatpak.prov
Executable file
24
fontconfig-flatpak.prov
Executable file
@ -0,0 +1,24 @@
|
||||
#!/usr/bin/bash
|
||||
#
|
||||
# Script to install in:
|
||||
# /usr/lib/rpm/redhat/find-provides.d
|
||||
#
|
||||
# Transform font files into RPM provides
|
||||
# Requires fontconfig >= 2.6.90
|
||||
#
|
||||
# Author: Behdad Esfahbod <behdad@redhat.com>
|
||||
# Based on other provides scripts from RPM
|
||||
#
|
||||
|
||||
fcquery=/usr/bin/fc-query
|
||||
|
||||
if [ ! -x $fcquery ]; then
|
||||
cat > /dev/null
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# filter out anything outside main fontconfig paths
|
||||
grep '/\(usr\|app\)/share/fonts/' |
|
||||
while read fn; do
|
||||
$fcquery --format '%{=pkgkit}' "${fn}" 2> /dev/null
|
||||
done
|
6
gating.yaml
Normal file
6
gating.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-9
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: desktop-qe.desktop-ci.tier1-gating.functional}
|
65
macros.flatpak
Normal file
65
macros.flatpak
Normal file
@ -0,0 +1,65 @@
|
||||
%flatpak 1
|
||||
%_prefix /app
|
||||
%_sysconfdir %{_prefix}/etc
|
||||
%build_ldflags -Wl,-z,relro %{_ld_as_needed_flags} %{_ld_symbols_flags} %{_hardened_ldflags} %[ "%{toolchain}" == "clang" ? "%{?_lto_cflags}" : "" ] -L%{_libdir}
|
||||
%python3_sitelib %{_prefix}/lib/python3.9/site-packages
|
||||
%python3_sitearch %{_libdir}/python3.9/site-packages
|
||||
|
||||
%___build_pre \
|
||||
RPM_SOURCE_DIR=\"%{u2p:%{_sourcedir}}\"\
|
||||
RPM_BUILD_DIR=\"%{u2p:%{_builddir}}\"\
|
||||
RPM_OPT_FLAGS=\"%{optflags}\"\
|
||||
RPM_LD_FLAGS=\"%{?__global_ldflags}\"\
|
||||
RPM_ARCH=\"%{_arch}\"\
|
||||
RPM_OS=\"%{_os}\"\
|
||||
export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_LD_FLAGS RPM_ARCH RPM_OS\
|
||||
RPM_DOC_DIR=\"%{_docdir}\"\
|
||||
export RPM_DOC_DIR\
|
||||
RPM_PACKAGE_NAME=\"%{name}\"\
|
||||
RPM_PACKAGE_VERSION=\"%{version}\"\
|
||||
RPM_PACKAGE_RELEASE=\"%{release}\"\
|
||||
export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE\
|
||||
LANG=C\
|
||||
export LANG\
|
||||
unset CDPATH DISPLAY ||:\
|
||||
%{?buildroot:RPM_BUILD_ROOT=\"%{u2p:%{buildroot}}\"\
|
||||
export RPM_BUILD_ROOT}\
|
||||
%{?_javaclasspath:CLASSPATH=\"%{_javaclasspath}\"\
|
||||
export CLASSPATH}\
|
||||
CONFIG_SITE=${CONFIG_SITE:-NONE}\
|
||||
export CONFIG_SITE\
|
||||
ACLOCAL_PATH="%{_datadir}/aclocal:%{_usr}/share/aclocal"\
|
||||
export ACLOCAL_PATH\
|
||||
CPATH="%{_prefix}/include"\
|
||||
export CPATH\
|
||||
CPLUS_INCLUDE_PATH="%{_prefix}/include"\
|
||||
export CPLUS_INCLUDE_PATH\
|
||||
C_INCLUDE_PATH="%{_prefix}/include"\
|
||||
export C_INCLUDE_PATH\
|
||||
GI_TYPELIB_PATH="%{_libdir}/girepository-1.0:%{_usr}/%{_lib}/girepository-1.0"\
|
||||
export GI_TYPELIB_PATH\
|
||||
INFOPATH="%{_datadir}/info"\
|
||||
export INFOPATH\
|
||||
MANPATH="%{_datadir}/man:"\
|
||||
export MANPATH\
|
||||
OBJC_INCLUDE_PATH="%{_prefix}/include"\
|
||||
export OBJC_INCLUDE_PATH\
|
||||
PATH="%{_bindir}:%{_usr}/local/sbin:%{_usr}/bin:/bin:%{_usr}/sbin:/sbin"\
|
||||
PKG_CONFIG_GLADEUI_2_0_CATALOGDIR="%{_datadir}/glade/catalogs"\
|
||||
export PKG_CONFIG_GLADEUI_2_0_CATALOGDIR\
|
||||
PKG_CONFIG_PATH="%{_libdir}/pkgconfig:%{_datadir}/pkgconfig:%{_usr}/%{_lib}/pkgconfig:%{_usr}/share/pkgconfig"\
|
||||
export PKG_CONFIG_PATH\
|
||||
XDG_CONFIG_DIRS="%{_sysconfdir}/xdg:/etc/xdg"\
|
||||
export XDG_CONFIG_DIRS\
|
||||
XDG_DATA_DIRS="%{_datadir}:%{_usr}/local/share:%{_usr}/share"\
|
||||
export XDG_DATA_DIRS\
|
||||
GVFS_REMOTE_VOLUME_MONITOR_IGNORE="1"\
|
||||
export GVFS_REMOTE_VOLUME_MONITOR_IGNORE\
|
||||
\
|
||||
%{verbose:set -x}%{!verbose:exec > /dev/null}\
|
||||
umask 022\
|
||||
cd \"%{u2p:%{_builddir}}\"\
|
||||
|
||||
# Override /usr/lib/rpm/fontconfig.prov with a version that also handles fonts
|
||||
# in /app/share/fonts
|
||||
%__font_provides %{_rpmconfigdir}/fontconfig-flatpak.prov
|
Loading…
Reference in New Issue
Block a user