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