chore: sync with terra37

This commit is contained in:
windowsboy111
2023-03-19 18:35:44 +08:00
parent bc39f65c36
commit 786e5ffbcf
18 changed files with 1000 additions and 10 deletions
+57
View File
@@ -0,0 +1,57 @@
name: Bootstrap Andaman and Subatomic (Fedora 37)
on:
workflow_dispatch:
jobs:
bootstrap:
strategy:
matrix:
version: ["37"]
arch: ["x86_64", "aarch64"]
fail-fast: true
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
container:
image: fedora:37
options: --cap-add=SYS_ADMIN --privileged
steps:
- uses: actions/setup-go@v3
with:
go-version: "^1.19"
- name: Install repositories
run: |
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://github.com/terrapkg/subatomic-repos/raw/main/terra${{ matrix.version }}.repo
sudo dnf install -y mock createrepo_c rpm-build anda-mock-configs gcc curl wget git-core openssl-devel
- uses: actions/checkout@v3
with:
repository: FyraLabs/subatomic
ref: bootstrap
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Install Anda
uses: actions-rs/cargo@v1
with:
command: install
args: anda
- name: Build Subatomic
run: anda build -c anda-37-${{ matrix.arch }} subatomic -p rpm
- name: Install Subatomic
run: sudo dnf install -y ./anda-build/rpm/rpms/subatomic-*.rpm
- uses: actions/checkout@v3
with:
repository: FyraLabs/anda
- name: Build Andaman
run: anda build -c anda-37-${{ matrix.arch }} anda -p rpm
- name: Upload to Subatomic
run: |
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }} anda-build/rpm/rpms/*
@@ -6,16 +6,6 @@
%global goipath github.com/xyproto/env
Version: 2.0.0
# REMOVE BEFORE SUBMITTING THIS FOR REVIEW
# ---
# New Fedora packages should use %%gometa -f, which makes the package
# ExclusiveArch to %%golang_arches_future and thus excludes the package from
# %%ix86. If the new package is needed as a dependency for another pacage,
# please consider removing that package from %%ix86 in the same way, instead of
# building more go packages for i686. If your package is not a leaf package,
# you'll need to coordinate the removal of the package's dependents first.
# ---
# REMOVE BEFORE SUBMITTING THIS FOR REVIEW
%gometa -f
%global common_description %{expand:
+5
View File
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "golang-github-xyproto-env.spec"
}
}
@@ -0,0 +1,48 @@
# Generated by go2rpm 1.8.2
%bcond_without check
%global debug_package %{nil}
# https://github.com/xyproto/env
%global goipath github.com/xyproto/env
Version: 1.9.1
%gometa -f
%global common_description %{expand:
Provide default values when fetching environment variables.}
%global golicenses LICENSE
%global godocs README.md
Name: golang-%{goname}
Release: 1%{?dist}
Summary: Provide default values when fetching environment variables
License: BSD-3-Clause
URL: %{gourl}
Source: %{gosource}
%description %{common_description}
%gopkg
%prep
%goprep
%generate_buildrequires
%go_generate_buildrequires
%build
%install
%gopkginstall
%if %{with check}
%check
%gocheck
%endif
%gopkgfiles
%changelog
%autochangelog
@@ -0,0 +1,48 @@
From 092ccc544c66f2a233bb074a5b3f9d9edcad2716 Mon Sep 17 00:00:00 2001
From: Thomas Crider <gloriouseggroll@gmail.com>
Date: Thu, 17 Nov 2022 23:46:54 -0500
Subject: [PATCH] All current versions of RHEL and Fedora that are not EOL (End
of Life) or ELS (Extended Lifecycle Support) currently only support systemd.
Legacy init scripts are not supported. Standard systemd installation should
be used.
---
parser/Makefile | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/parser/Makefile b/parser/Makefile
index 15f9d97..64f5db6 100644
--- a/parser/Makefile
+++ b/parser/Makefile
@@ -352,13 +352,10 @@ tests: apparmor_parser ${TESTS}
$(AAREOBJECT): FORCE
$(MAKE) -C $(AAREDIR) CFLAGS="$(EXTRA_CXXFLAGS)"
-.PHONY: install-rhel4
-install-rhel4: install-redhat
-
.PHONY: install-redhat
-install-redhat:
- install -m 755 -d $(DESTDIR)/etc/init.d
- install -m 755 rc.apparmor.$(subst install-,,$@) $(DESTDIR)/etc/init.d/apparmor
+install-redhat: install-systemd
+ install -m 755 -d $(SBINDIR)
+ ln -sf service $(SBINDIR)/rcapparmor
.PHONY: install-suse
install-suse: install-systemd
@@ -389,9 +386,9 @@ DISTRO=$(shell if [ -f /etc/slackware-version ] ; then \
if [ "$$(rpm --eval '0%{?suse_version}')" != "0" ] ; then \
echo suse ;\
elif [ "$$(rpm --eval '%{_host_vendor}')" = redhat ] ; then \
- echo rhel4 ;\
+ echo redhat ;\
elif [ "$$(rpm --eval '0%{?fedora}')" != "0" ] ; then \
- echo rhel4 ;\
+ echo redhat ;\
else \
echo unknown ;\
fi ;\
--
2.38.1
@@ -0,0 +1,27 @@
From 334e335909b8faab63bf9289e63f9dc1a3c82a83 Mon Sep 17 00:00:00 2001
From: Thomas Crider <gloriouseggroll@gmail.com>
Date: Thu, 17 Nov 2022 22:46:54 -0500
Subject: [PATCH] fix avahi-daemon authselect denial in fedora
Fixes this denial:
type=AVC msg=audit(1668734812.755:243): apparmor="DENIED" operation="open" profile="avahi-daemon" name="/etc/authselect/nsswitch.conf" pid=1418 comm="avahi-daemon" requested_mask="r" denied_mask="r" fsuid=0 ouid=0FSUID="root" OUID="root"
---
profiles/apparmor.d/usr.sbin.avahi-daemon | 1 +
1 file changed, 1 insertion(+)
diff --git a/profiles/apparmor.d/usr.sbin.avahi-daemon b/profiles/apparmor.d/usr.sbin.avahi-daemon
index 010b385..da69072 100644
--- a/profiles/apparmor.d/usr.sbin.avahi-daemon
+++ b/profiles/apparmor.d/usr.sbin.avahi-daemon
@@ -21,6 +21,7 @@ profile avahi-daemon /usr/{bin,sbin}/avahi-daemon {
/etc/avahi/hosts r,
/etc/avahi/services/ r,
/etc/avahi/services/*.service r,
+ /etc/authselect/nsswitch.conf r,
@{PROC}/@{pid}/fd/ r,
@{PROC}/1/environ r,
@{PROC}/cmdline r,
--
2.38.1
+5
View File
@@ -0,0 +1,5 @@
project "pkg" {
rpm {
spec = "apparmor.spec"
}
}
+1
View File
@@ -0,0 +1 @@
enable apparmor.service
+340
View File
@@ -0,0 +1,340 @@
%{?python_enable_dependency_generator}
%bcond_with tests
Name: apparmor
Version: 3.1.3
Release: %autorelease
Summary: AppArmor userspace components
%define baseversion %(echo %{version} | cut -d. -f-2)
License: GPL-2.0
URL: https://launchpad.net/apparmor
Source0: %{url}/%{baseversion}/%{version}/+download/%{name}-%{version}.tar.gz
Source1: apparmor.preset
Patch01: 0001-fix-avahi-daemon-authselect-denial-in-fedora.patch
Patch02: 0001-All-current-versions-of-RHEL-and-Fedora-that-are-not.patch
BuildRequires: gcc
BuildRequires: automake
BuildRequires: libtool
BuildRequires: gcc-c++
BuildRequires: libstdc++-static
BuildRequires: flex
BuildRequires: bison
BuildRequires: swig
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: %{_bindir}/podchecker
BuildRequires: %{_bindir}/pod2html
BuildRequires: gettext
BuildRequires: pam-devel
BuildRequires: httpd-devel
BuildRequires: systemd-rpm-macros
BuildRequires: gawk
BuildRequires: which
%if %{with tests}
BuildRequires: %{_bindir}/runtest
BuildRequires: %{_bindir}/prove
BuildRequires: perl(Locale::gettext)
BuildRequires: perl(Test::More)
%endif
Provides: %{name}-profiles = %{version}-%{release}
Requires: %{name}-parser
Recommends: %{name}-utils
%{?systemd_requires}
%description
AppArmor protects systems from insecure or untrusted processes by running
them in restricted confinement, while still allowing processes to share files,
exercise privilege and communicate with other processes. AppArmor is a Mandatory
Access Control (MAC) mechanism which uses the Linux Security Module (LSM)
framework. The confinement's restrictions are mandatory and are not bound to
identity, group membership, or object ownership. The protections provided are in
addition to the kernel's regular access control mechanisms (including DAC) and
can be used to restrict the superuser.
%package libs
Summary: AppArmor library
%description libs
This package contains the shared library used for making use of the AppArmor
profile and changehat functionality, as well as common log parsing routines.
%package devel
Summary: AppArmor development libraries and header files
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description devel
This package contains AppArmor development libraries and header files.
%package -n python3-apparmor
Summary: AppArmor Python3 utility library
Requires: python3-LibAppArmor = %{version}-%{release}
BuildArch: noarch
%description -n python3-apparmor
This package provides the python interface to AppArmor. It is used for python
applications interfacing with AppArmor.
%package -n python3-LibAppArmor
Summary: AppArmor library Python3 bindings
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description -n python3-LibAppArmor
This package contains Python3 module that contains the language bindings for
the AppArmor library, libapparmor, which were autogenerated via SWIG.
%package profiles
Summary: AppArmor profiles
Provides: apparmor-profiles = %{version}-%{release}
BuildArch: noarch
%description profiles
This package contains default AppArmor profiles.
%package parser
Summary: AppArmor userlevel parser utility
Requires: python3-apparmor = %{version}
# Let it be the AppArmor metapackage
Provides: %{name} = %{version}-%{release}
Requires: %{name}-profiles = %{version}-%{release}
Recommends: %{name}-utils
%description parser
The AppArmor Parser is a userlevel program that is used to load in
program profiles to the AppArmor Security kernel module.
%package utils
Summary: AppArmor User-Level Utilities
Requires: python3-apparmor = %{version}
Requires: python3-notify2
%description utils
This package provides the aa-logprof, aa-genprof, aa-autodep,
aa-enforce, and aa-complain tools to assist with profile authoring.
Besides it provides the aa-unconfined server information tool.
%package -n pam_apparmor
Summary: PAM module for AppArmor change_hat
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: pam%{?_isa}
%description -n pam_apparmor
This package provides the PAM module needed to declare various differing
confinement policies when starting PAM sessions by using the changehat
abilities exposed through libapparmor.
%package -n mod_apparmor
Summary: AppArmor module for apache2
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: httpd%{?_isa}
%description -n mod_apparmor
This package provides the Apache module needed to declare various differing
confinement policies when running virtual hosts in the webserver by using the
changehat abilities exposed through libapparmor.
%prep
%autosetup -p1
%build
export PYTHON=%{__python3}
export PYTHON_VERSION=3
export PYTHON_VERSIONS=python3
pushd libraries/libapparmor
./autogen.sh
%configure \
--with-python \
%make_build
popd
%make_build -C binutils
%make_build -C parser
%make_build -C profiles
%make_build -C utils
%make_build -C changehat/pam_apparmor
%make_build -C changehat/mod_apparmor
%make_build -C utils/vim
%install
%make_install -C libraries/libapparmor
%make_install -C binutils
%make_install -C parser \
APPARMOR_BIN_PREFIX=%{buildroot}%{_prefix}/lib/apparmor \
SBINDIR=%{buildroot}%{_sbindir}
%make_install -C profiles
%make_install -C utils
%make_install -C changehat/pam_apparmor \
SECDIR=%{buildroot}%{_libdir}/security
%make_install -C changehat/mod_apparmor
%make_install -C utils/vim
install -Dm644 %{SOURCE1} %{buildroot}%{_presetdir}/70-apparmor.preset
find %{buildroot} \( -name "*.a" -o -name "*.la" \) -delete
%find_lang aa-binutils
%find_lang apparmor-parser
%find_lang apparmor-utils
%if %{with tests}
%check
make -C libraries/libapparmor check
make -C binutils check
make -C parser check
# only running check-parser, as check-logprof (included in check) fails:
# https://gitlab.com/apparmor/apparmor/issues/36
make -C profiles check-parser
make -C profiles check
# shutil.copytree has a regression
# https://gitlab.com/apparmor/apparmor/issues/62
make -C utils check
%endif
%post parser
%systemd_post %{name}.service
%preun parser
%systemd_preun %{name}.service
%postun parser
%systemd_postun_with_restart %{name}.service
%files libs
%license LICENSE
%{_libdir}/libapparmor.so.*
%files devel
%{_libdir}/libapparmor.so
%{_includedir}/aalogparse
%{_includedir}/sys/apparmor*
%{_libdir}/pkgconfig/libapparmor.pc
%{_mandir}/man2/aa_*.2.gz
%{_mandir}/man3/aa_*.3.gz
%files -n python3-apparmor
%{python3_sitelib}/apparmor
%{python3_sitelib}/apparmor-*.egg-info
%files -n python3-LibAppArmor
%{python3_sitearch}/LibAppArmor
%{python3_sitearch}/LibAppArmor-*.egg-info
%files profiles
%dir %{_sysconfdir}/apparmor.d/
%dir %{_sysconfdir}/apparmor.d/abi
%config(noreplace) %{_sysconfdir}/apparmor.d/abi/3.0
%config(noreplace) %{_sysconfdir}/apparmor.d/abi/kernel-5.4-outoftree-network
%config(noreplace) %{_sysconfdir}/apparmor.d/abi/kernel-5.4-vanilla
%config(noreplace) %{_sysconfdir}/apparmor.d/php-fpm
%config(noreplace) %{_sysconfdir}/apparmor.d/samba-bgqd
%config(noreplace) %{_sysconfdir}/apparmor.d/samba-dcerpcd
%config(noreplace) %{_sysconfdir}/apparmor.d/samba-rpcd
%config(noreplace) %{_sysconfdir}/apparmor.d/samba-rpcd-classic
%config(noreplace) %{_sysconfdir}/apparmor.d/samba-rpcd-spoolss
%config(noreplace) %{_sysconfdir}/apparmor.d/zgrep
%dir %{_sysconfdir}/apparmor.d/abstractions
%config(noreplace) %{_sysconfdir}/apparmor.d/abstractions/*
%dir %{_sysconfdir}/apparmor.d/disable
%dir %{_sysconfdir}/apparmor.d/local
%dir %{_sysconfdir}/apparmor.d/tunables
%config(noreplace) %{_sysconfdir}/apparmor.d/tunables/*
%dir %{_sysconfdir}/apparmor.d/apache2.d
%config(noreplace) %{_sysconfdir}/apparmor.d/apache2.d/phpsysinfo
%config(noreplace) %{_sysconfdir}/apparmor.d/bin.*
%config(noreplace) %{_sysconfdir}/apparmor.d/sbin.*
%config(noreplace) %{_sysconfdir}/apparmor.d/usr.*
%config(noreplace) %{_sysconfdir}/apparmor.d/lsb_release
%config(noreplace) %{_sysconfdir}/apparmor.d/nvidia_modprobe
%config(noreplace) %{_sysconfdir}/apparmor.d/local/*
%dir %{_datadir}/apparmor/
%{_datadir}/apparmor/extra-profiles
%files parser -f apparmor-parser.lang -f aa-binutils.lang
%license parser/COPYING.GPL
%doc parser/README
%doc parser/*.[1-9].html
%doc common/apparmor.css
%doc parser/techdoc.pdf
%{_sbindir}/apparmor_parser
%{_bindir}/aa-enabled
%{_bindir}/aa-exec
%{_bindir}/aa-features-abi
%{_sbindir}/aa-teardown
%{_sbindir}/rcapparmor
%{_unitdir}/apparmor.service
%{_presetdir}/70-apparmor.preset
%{_prefix}/lib/apparmor
%dir %{_sysconfdir}/apparmor
%config(noreplace) %{_sysconfdir}/apparmor/parser.conf
%{_sharedstatedir}/apparmor
%{_mandir}/man1/aa-enabled.1.gz
%{_mandir}/man1/aa-exec.1.gz
%{_mandir}/man1/aa-features-abi.1.gz
%{_mandir}/man5/apparmor.d.5.gz
%{_mandir}/man5/apparmor.vim.5.gz
%{_mandir}/man7/apparmor.7.gz
%{_mandir}/man7/apparmor_xattrs.7.gz
%{_mandir}/man8/aa-teardown.8.gz
%{_mandir}/man8/apparmor_parser.8.gz
%files utils -f apparmor-utils.lang
%doc utils/*.[0-9].html
%doc utils/vim/apparmor.vim.5.html
%doc common/apparmor.css
%dir %{_sysconfdir}/apparmor
%config(noreplace) %{_sysconfdir}/apparmor/easyprof.conf
%config(noreplace) %{_sysconfdir}/apparmor/logprof.conf
%config(noreplace) %{_sysconfdir}/apparmor/notify.conf
%config(noreplace) %{_sysconfdir}/apparmor/severity.db
%{_sbindir}/aa-audit
%{_sbindir}/aa-autodep
%{_sbindir}/aa-cleanprof
%{_sbindir}/aa-complain
%{_sbindir}/aa-decode
%{_sbindir}/aa-disable
%{_sbindir}/aa-enforce
%{_sbindir}/aa-genprof
%{_sbindir}/aa-logprof
%{_sbindir}/aa-mergeprof
%{_sbindir}/aa-notify
%{_sbindir}/aa-remove-unknown
%{_sbindir}/aa-status
%{_sbindir}/aa-unconfined
%{_sbindir}/apparmor_status
%{_bindir}/aa-easyprof
%dir %{_datadir}/apparmor
%{_datadir}/apparmor/easyprof
%{_datadir}/apparmor/apparmor.vim
%{_mandir}/man5/logprof.conf.5.gz
%{_mandir}/man8/aa-audit.8.gz
%{_mandir}/man8/aa-autodep.8.gz
%{_mandir}/man8/aa-cleanprof.8.gz
%{_mandir}/man8/aa-complain.8.gz
%{_mandir}/man8/aa-decode.8.gz
%{_mandir}/man8/aa-disable.8.gz
%{_mandir}/man8/aa-easyprof.8.gz
%{_mandir}/man8/aa-enforce.8.gz
%{_mandir}/man8/aa-genprof.8.gz
%{_mandir}/man8/aa-logprof.8.gz
%{_mandir}/man8/aa-mergeprof.8.gz
%{_mandir}/man8/aa-notify.8.gz
%{_mandir}/man8/aa-remove-unknown.8.gz
%{_mandir}/man8/aa-status.8.gz
%{_mandir}/man8/aa-unconfined.8.gz
%{_mandir}/man8/apparmor_status.8.gz
%files -n pam_apparmor
%{_libdir}/security/pam_apparmor.so
%files -n mod_apparmor
%{_libdir}/httpd/modules/mod_apparmor.so
%{_mandir}/man8/mod_apparmor.8.gz
%changelog
%autochangelog
+5
View File
@@ -0,0 +1,5 @@
project "pkg" {
rpm {
spec = "geonames.spec"
}
}
+66
View File
@@ -0,0 +1,66 @@
%global forgeurl https://gitlab.com/ubports/development/core/geonames
%global commit 73c5dfca7d5a8935f7a9f8fe2656d24f8f8fe00a
%forgemeta
Name: geonames
Version: 0.3.0
Release: %autorelease
Summary: Parse and query the geonames database
License: GPLv3
URL: https://gitlab.com/ubports/development/core/geonames
Source0: %{url}/-/archive/%commit/geonames-%commit.tar.gz
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: glib2-devel
BuildRequires: gtk-doc
BuildRequires: gettext
%description
A library for parsing and querying a local copy of the geonames.org database.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package doc
Summary: Documentation for %{name}
BuildArch: noarch
%description doc
The %{name}-doc package contains documenation for %{name}.
%prep
%autosetup -n geonames-%commit
%build
%cmake
%cmake_build
%install
%cmake_install
%find_lang %{name}
%files -f %{name}.lang
%license COPYING COPYING.data
%{_libdir}/libgeonames.so.*
%files devel
%dir %{_includedir}/geonames
%{_includedir}/geonames/geonames.h
%{_libdir}/libgeonames.so
%{_libdir}/pkgconfig/geonames.pc
%files doc
%dir %{_datadir}/gtk-doc/html/geonames
%{_datadir}/gtk-doc/html/geonames/*.html
%{_datadir}/gtk-doc/html/geonames/*.png
%{_datadir}/gtk-doc/html/geonames/style.css
%{_datadir}/gtk-doc/html/geonames/geonames.devhelp2
%changelog
%autochangelog
+5
View File
@@ -0,0 +1,5 @@
project "pkg" {
rpm {
spec = "lomiri-app-launch.spec"
}
}
@@ -0,0 +1,80 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-app-launch
%global commit d69c7a1339e0d227bebb500b6a1fe655095ff700
%forgemeta
Name: lomiri-app-launch
Version: 0.1.6
Release: %autorelease
Summary: Provides the Lomiri App Launch user space daemon
License: GPLv3
URL: https://gitlab.com/ubports/development/core/lomiri-app-launch
Source0: %{url}/-/archive/%commit/lomiri-app-launch-%commit.tar.gz
BuildRequires: cmake
BuildRequires: pkgconfig
BuildRequires: g++
BuildRequires: gcc
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(lttng-ust)
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(zeitgeist-2.0)
BuildRequires: pkgconfig(click-0.4)
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(dbustest-1)
BuildRequires: pkgconfig(lttng-ust)
BuildRequires: pkgconfig(mirserver)
BuildRequires: pkgconfig(liblomiri-api)
BuildRequires: pkgconfig(dbus-1)
# Not in pkgconfig but required
BuildRequires: properties-cpp-devel
BuildRequires: libcurl-devel
BuildRequires: systemd-rpm-macros
%description
User space daemon for launching applications
Application launching system and associated utilities that is used to
launch applications in a standard and confined way.
%package devel
Summary: Lomiri-app-launch development files
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
This package contains development files needed for lomiri-app-launch.
%prep
%autosetup -n lomiri-app-launch-%commit
%build
sed -i 's/-Werror//' ./CMakeLists.txt
# For some reason the macro of cmake fails on both clang and gcc
cmake -DLOMIRI_APP_LAUNCH_ARCH=%{_arch} -DENABLE_COVERAGE=OFF -DENABLE_TESTS=OFF -B redhat-linux-build -DCMAKE_INSTALL_PREFIX:PATH=/usr -DENABLE_MIRCLIENT=off -DUSE_SYSTEMD=ON
%cmake_build
%install
%cmake_install
%files
%license COPYING
%{_libdir}/liblomiri-app-launch.so.*
%{_libdir}/girepository-1.0/LomiriAppLaunch-0.typelib
%{_userunitdir}/lal-application-end.target
%{_bindir}/lomiri-app-*
%{_bindir}/lomiri-helper-*
%{_libexecdir}/lomiri-app-launch/
%files devel
%{_libdir}/liblomiri-app-launch.so
%{_libdir}/pkgconfig/*.pc
%{_datarootdir}/gir-1.0/LomiriAppLaunch-0.gir
%dir %{_includedir}/liblomiri-app-launch-0
%{_includedir}/liblomiri-app-launch-0/*.h
%dir %{_includedir}/liblomiri-app-launch-0/lomiri-app-launch
%{_includedir}/liblomiri-app-launch-0/lomiri-app-launch/*.h
%changelog
%autochangelog
+5
View File
@@ -0,0 +1,5 @@
project "pkg" {
rpm {
spec = "lomiri-ui-toolkit.spec"
}
}
@@ -0,0 +1,155 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-ui-toolkit
%global commit 57b9c01a64b06ee57a0c73657e5a61f369911954
%forgemeta
Name: lomiri-ui-toolkit
Version: 1.3.5010
Release: %autorelease
Summary: QML components to ease the creation of beautiful applications in QML for Lomiri
License: LGPLv3
URL: https://gitlab.com/ubports/development/core/lomiri-ui-toolkit
Source0: %{url}/-/archive/%commit/lomiri-ui-toolkit-%commit.tar.gz
Patch0: https://sources.debian.org/data/main/l/lomiri-ui-toolkit/1.3.5010%2Bdfsg-1/debian/patches/0002-fix-tests-on-qt-5.15.5.patch
Patch1: https://sources.debian.org/data/main/l/lomiri-ui-toolkit/1.3.5010%2Bdfsg-1/debian/patches/2003_stop-using-Ubuntu-fonts.patch
BuildRequires: pkgconfig
BuildRequires: make
BuildRequires: g++
BuildRequires: gcc
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: libXi-devel
Buildrequires: lttng-ust-devel
BuildRequires: qt5-doctools
BuildRequires: qt5-rpm-macros
BuildRequires: qt5-qtdeclarative
BuildRequires: qt5-qtbase-static
BuildRequires: qt5-qtbase-private-devel
BuildRequires: qt5-qtgraphicaleffects
BuildRequires: qt5-qtfeedback
BuildRequires: qt5-qtsystems-devel
BuildRequires: qt5-qtdeclarative-devel
BuildRequires: qt5-pim-devel
BuildRequires: python3-rpm-macros
BuildRequires: qt5-qtsvg-devel
Requires: qt5-qtgraphicaleffects
Requires: qt5-qtfeedback
%description
This project consists of a set of QML components to ease the creation of
beautiful applications in QML for Lomiri.
QML alone lacks built-in components for basic widgets like Button, Slider,
Scrollbar, etc, meaning a developer has to build them from scratch. This
toolkit aims to stop this duplication of work, supplying beautiful components
ready-made and with a clear and consistent API.
These components are fully themeable so the look and feel can be easily
customized. Resolution independence technology is built in so UIs are scaled
to best suit the display.
%package devel
Summary: Lomiri-ui-toolkit development files
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
This package contains development files needed for lomiri-ui-toolkit.
%package -n python3-lomiriuitoolkit
Summary: Python3 files for Lomiri-ui-toolkit
Requires: %{name}%{?_isa} = %{version}-%{release}
%description -n python3-lomiriuitoolkit
Python3 files for Lomiri-ui-toolkit.
%package doc
Summary: Documentation for Lomiri-ui-toolkit
BuildArch: noarch
%description doc
Documentation for Lomiri-ui-toolkit.
%package examples
Summary: Examples for Lomiri-ui-toolkit
Requires: %{name}%{?_isa} = %{version}-%{release}
%description examples
Examples for Lomiri-ui-toolkit.
%prep
%autosetup -n lomiri-ui-toolkit-%commit -p1
%build
%{qmake_qt5} 'CONFIG+=ubuntu-uitk-compat' 'CONFIG+=test'
%make_build
%install
%make_install INSTALL_ROOT=%{buildroot} STRIP=/bin/true
# Used by apicheck during tests only
rm -rf %{buildroot}%{_qt5_qmldir}/Extinct
# Has various issues
rm -rf %{buildroot}%{_datadir}/lomiri-ui-toolkit/doc/html
%find_lang %{name}
%find_lang %{name}-gallery
%files -f %{name}.lang
%license COPYING
%{_libdir}/libLomiriGestures.so.*
%{_libdir}/libLomiriMetrics.so.*
%{_libdir}/libLomiriToolkit.so.*
%dir %{_qt5_plugindir}/lomiri
%dir %{_qt5_plugindir}/lomiri/metrics
%{_qt5_plugindir}/lomiri/metrics/*.so
%dir %{_qt5_qmldir}/Lomiri
%{_qt5_qmldir}/Lomiri/Components/
%{_qt5_qmldir}/Lomiri/Layouts/
%{_qt5_qmldir}/Lomiri/Metrics/
%{_qt5_qmldir}/Lomiri/PerformanceMetrics/
%{_qt5_qmldir}/Lomiri/Test/
%dir %{_qt5_qmldir}/Ubuntu
%{_qt5_qmldir}/Ubuntu/Components/
%{_qt5_qmldir}/Ubuntu/Layouts/
%{_qt5_qmldir}/Ubuntu/Metrics/
%{_qt5_qmldir}/Ubuntu/PerformanceMetrics/
%{_qt5_qmldir}/Ubuntu/Test/
%files devel
%{_bindir}/lomiri-*
%{_libdir}/libLomiriGestures.so
%{_libdir}/libLomiriMetrics.so
%{_libdir}/libLomiriToolkit.so
%{_libdir}/*.prl
%{_libdir}/pkgconfig/*.pc
%dir %{_libdir}/lomiri-ui-toolkit
%{_libdir}/lomiri-ui-toolkit/apicheck
%{_qt5_archdatadir}/mkspecs/modules/*.pri
%{_qt5_includedir}/LomiriGestures/
%{_qt5_includedir}/LomiriMetrics/
%{_qt5_includedir}/LomiriToolkit/
%files -n python3-lomiriuitoolkit
%dir %{python3_sitelib}/lomiriuitoolkit
%{python3_sitelib}/lomiriuitoolkit/*.py
%{python3_sitelib}/lomiriuitoolkit/_custom_proxy_objects/
%{python3_sitelib}/lomiriuitoolkit/__pycache__/
%{python3_sitelib}/lomiriuitoolkit/tests/
%files doc
%license COPYING.CC-BY-SA-3.0
%{_qt5_docdir}/*.qch
%dir %{_datadir}/lomiri-ui-toolkit
%{_datadir}/lomiri-ui-toolkit/doc/
%files examples -f %{name}-gallery.lang
%dir %{_qt5_examplesdir}/lomiri-ui-toolkit
%dir %{_qt5_examplesdir}/lomiri-ui-toolkit/examples
%{_qt5_examplesdir}/lomiri-ui-toolkit/examples/calculator/
%{_qt5_examplesdir}/lomiri-ui-toolkit/examples/customtheme/
%{_qt5_examplesdir}/lomiri-ui-toolkit/examples/jokes/
%{_qt5_examplesdir}/lomiri-ui-toolkit/examples/locale/
%{_qt5_examplesdir}/lomiri-ui-toolkit/examples/lomiri-ui-toolkit-gallery/
%{_qt5_examplesdir}/lomiri-ui-toolkit/examples/unit-converter/
%changelog
%autochangelog
+2
View File
@@ -115,6 +115,8 @@ mkdir -p %{buildroot}%{_qt5_docdir}/html/ %{buildroot}%{_qt5_docdir}/qch/
mv doc/*.qch %{buildroot}%{_qt5_docdir}/qch/
cp -a doc/* %{buildroot}%{_qt5_docdir}/html/
cp -a ./include/* %{buildroot}%{_qt5_includedir}
%files
%license LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT
%{_libdir}/libQt5Contacts.so.*
+5
View File
@@ -0,0 +1,5 @@
project "pkg" {
rpm {
spec = "click.spec"
}
}
+146
View File
@@ -0,0 +1,146 @@
%global forgeurl https://gitlab.com/ubports/development/core/click
%global commit 5cb9cd655453bb158fc49e5501c98fe4170b25a8
%forgemeta
Name: click
Version: 0.5.0
Release: %autorelease
Summary: Click is a app building method
License: LGPLv3
URL: https://gitlab.com/ubports/development/core/click
Source0: %{url}/-/archive/%commit/click-%commit.tar.gz
BuildRequires: automake libtool
BuildRequires: pkgconfig
BuildRequires: make
BuildRequires: g++
BuildRequires: gcc
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(gee-0.8)
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(properties-cpp)
BuildRequires: dbus-test-runner
BuildRequires: vala
BuildRequires: python3-devel
BuildRequires: python3-sphinx
BuildRequires: systemd-rpm-macros
BuildRequires: systemd
%description
Click is a simplified packaging format that installs in a separate part of
the file system, suitable for third-party applications.
%package devel
Summary: Click development files
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Development files and headers for Click.
%package -n python3-lomiri-click
Summary: Python3 files for Click
Requires: %{name}%{?_isa} = %{version}-%{release}
%description -n python3-lomiri-click
Python3 files for Click.
%package doc
Summary: Documentation files for Click
BuildArch: noarch
%description doc
Provides HTML and Manpage (documentation) for Click.
%prep
%autosetup -n click-%commit
%build
NOCONFIGURE=1 \
./autogen.sh
%configure
%make_build
%install
%make_install -- PYTHON_INSTALL_FLAGS="--root=%{buildroot}"
# Create documentation
pushd doc
make man
mv _build/man/click.1 %{buildroot}%{_mandir}/man1/click.1
make html
mkdir -p %{buildroot}%_pkgdocdir
mv _build/html %{buildroot}%_pkgdocdir
popd
mv README %{buildroot}%_pkgdocdir
# Debian / debhelper stuff not needed
rm -rf %{buildroot}%{_bindir}/dh_click %{buildroot}%{_datarootdir}/debhelper %{buildroot}%{_datarootdir}/perl5 %{buildroot}%{_mandir}/man1/dh_click.1
%files
%license LICENSE
%{_sysconfdir}/dbus-1/system.d/com.lomiri.click.conf
%{_libdir}/libclick-0.4.so.*
%dir %{_libdir}/click
%{_libdir}/click/libclickpreload.so
%dir %{_libexecdir}/click
%{_libexecdir}/click/click-service
%{_datadir}/dbus-1/system-services/com.lomiri.click.service
%{_libdir}/girepository-1.0/Click-0.4.typelib
%files devel
%dir %{_includedir}/click-0.4
%{_includedir}/click-0.4/click.h
%{_libdir}/libclick-0.4.so
%{_libdir}/pkgconfig/click-0.4.pc
%{_datarootdir}/gir-1.0/Click-0.4.gir
%files -n python3-lomiri-click
%dir %{_sysconfdir}/click
%dir %{_sysconfdir}/click/databases
%{_sysconfdir}/click/databases/*.conf
%dir %{_sysconfdir}/schroot
%dir %{_sysconfdir}/schroot/click
%{_sysconfdir}/schroot/click/fstab
%{_bindir}/click
%{_unitdir}/click-system-hooks.service
%{_userunitdir}/click-user-hooks.service
%dir %{python3_sitelib}/click_package
%{python3_sitelib}/click_package/*.py
%dir %{python3_sitelib}/click_package/tests
%{python3_sitelib}/click_package/tests/*.py
%dir %{python3_sitelib}/click_package/tests/integration
%{python3_sitelib}/click_package/tests/integration/*.py
%dir %{python3_sitelib}/click_package/tests/integration/__pycache__
%{python3_sitelib}/click_package/tests/integration/__pycache__/*.pyc
%dir %{python3_sitelib}/click_package/tests/__pycache__
%{python3_sitelib}/click_package/tests/__pycache__/*.pyc
%dir %{python3_sitelib}/click_package/commands
%{python3_sitelib}/click_package/commands/*.py
%dir %{python3_sitelib}/click_package/commands/__pycache__
%{python3_sitelib}/click_package/commands/__pycache__/*.pyc
%dir %{python3_sitelib}/click_package/__pycache__
%{python3_sitelib}/click_package/__pycache__/*.pyc
%dir %{python3_sitelib}/click-%{version}-py%{python3_version}.egg-info
%{python3_sitelib}/click-%{version}-py%{python3_version}.egg-info/*.txt
%{python3_sitelib}/click-%{version}-py%{python3_version}.egg-info/PKG-INFO
%files doc
%{_mandir}/man1/click.1.gz
%dir %_pkgdocdir
%_pkgdocdir/README
%dir %_pkgdocdir/html
%_pkgdocdir/html/*.html
%_pkgdocdir/html/.buildinfo
%_pkgdocdir/html/*inv
%_pkgdocdir/html/*.js
%dir %_pkgdocdir/html/_sources
%_pkgdocdir/html/_sources/*.txt
%dir %_pkgdocdir/html/_static
%_pkgdocdir/html/_static/*.png
%_pkgdocdir/html/_static/*.css
%_pkgdocdir/html/_static/*.js
%changelog
%autochangelog