summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Youngjae Cho [Mon, 9 Sep 2024 11:06:39 +0000 (20:06 +0900)]
Fix style of function local variables
Fix it to be lowercase, prefixed with local keyword.
Change-Id: Ib4769d191444a27bd17549ddf729554fcf7f211a
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
Youngjae Cho [Mon, 9 Sep 2024 10:17:29 +0000 (19:17 +0900)]
Add configuration for group filtering
To be operational with group information, new attributes below have
been added.
- target_group_name
: Similar to target_package_name, but it specifies groups that
are subject to hal-rootstrap-checker instead of package name.
- allowed_buildrequires_group_name:
: Similar to allowed_buildrequires_package_name, but it works
based on group name instead of package name. The effective allowed
set is made up of the below two set.
(allowed_buildrequires_package_name
|| allowed_buildrequires_group_name)
To be clearly distinguished from the above attributes, several attributes
have been renamed.
- allowed_buildrequires -> allowed_buildrequires_package_name
- allowed_buildconflicts -> allowed_buildconflicts_package_name
Change-Id: I9d6fa4e1d73b63db76ee273f9c85b655fa347438
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
Youngjae Cho [Wed, 4 Sep 2024 02:55:25 +0000 (11:55 +0900)]
Extract repeated code into a function
Those code has been changed to a function, pattern matching and
collecting not allowed dependencies.
Change-Id: I641a7fa974c9a6b29492f09a2ed3dc2a29f8f5ee
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
Youngjae Cho [Tue, 3 Sep 2024 04:55:19 +0000 (13:55 +0900)]
Print success log if there are no violations
It prevents the checker from silently terminated on success.
Change-Id: Ia2359f3f018f790634ccf0d306d1a3554ed5b8b3
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
Youngjae Cho [Tue, 3 Sep 2024 04:48:33 +0000 (13:48 +0900)]
Add option action_on_violation for controlling rpmbuild
The option can have value 'error' or 'warning' or 'ignore'. It defines
how hal-rootstrap-checker should act on detecting not allowed build
dependency. The meanings of each value are
- error
: Print error log, and cease rpmbuild with build error
- warning
: Print warning log, and continue rpmbuild
- ignore
: Keep silent, and continue rpmbuild
Change-Id: Ifbb42efa9ca6bb689a25246c08f5767b15b39ce7
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
Youngjae Cho [Wed, 28 Aug 2024 02:02:55 +0000 (11:02 +0900)]
Disable check for allowed_requires
It is hardly configurable that which packages could be an allowed_requires.
For example, /sbin/ldconfig for %post scriptlet could be specified as
Requires(post), but technically, it is not related to the source ABI
compatibility. That is, it is difficult to set allowed_requires considering
every packages that could be used as Requires. Of course, there could be a
package specified as Requires dependency that matters in ABI compatibility
though, we cannot specify all the other exceptions like /sbin/ldconfig.
Therefore, temporarily disabled allowed_requires.
Change-Id: I963a4e0aa283cfe1cce0e9967d6a5ce9da810c50
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
Youngjae Cho [Mon, 26 Aug 2024 07:41:32 +0000 (16:41 +0900)]
Add obs directive #!BuildIgnore
Change-Id: I8d33f57fecd0e7d9254d7c3e675ded092a932098
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
Youngjae Cho [Wed, 21 Aug 2024 02:28:46 +0000 (11:28 +0900)]
Add hal-rootstrap-checker
The hal-rootstrap-checker is mainly for screening packages out from
build that have dependencies to unmanaged, especially ABI incompatible,
packages. It operates after every %install stage of rpmbuild, aided by
rpm macro. Those managed/unmanaged packages can be configured by yaml
file described below.
The rpm-tizen_macros(defined at platform/upstream/rpm) has anchor point
%{?__hal_rootstrap_checker_install_post}
and this repository provides definition of that macro. And it leads
hal-rootstrap-checker.sh to be executed when rpmbuild confronts the
macro. See macros.hal-rootstrap-checker.
Note that, when the gbs build is triggered, the installation of this
repository is always followed by the execution of rpmbuild. Therefore,
it is guaranted for the rpmbuild to find hal-rootstrap-checker.sh and
its related stuffs such as configuration file and macro file. This
is possible because there are several packages preinstalled by build
system before running rpmbuild. And this hal-rootstrap-checker has
become one of that packages. See scm/meta/qb for the details.
The hal-rootstrap-checker.sh can be configured by yaml file with the
same name. The default one is
/etc/hal/rootstrap/hal-rootstrap-checker.yaml.
And there can be another one,
/etc/hal/rootstrap/rules.d/hal-rootstrap-checker.yaml,
which shades the default configuration, and it gives a way for applying
custom defined configuration.
For those details about configuration attributes, see the yaml file.
Overview:
> Triggering gbs build
|
|--> Preinstalling [...]
|--> Preinstalling hal-rootstrap-checker
| |-- /etc/hal/rootstrap/hal-rootstrap-checker.sh
| |-- /etc/hal/rootstrap/hal-rootstrap-checker.yaml
| |-- /etc/rpm/macros.hal-roostrap-checker
|
|--> Preinstalling rpm
|--> Preinstalling [...]
|
|--> Exec rpmbuild
|
|--> %prep
|--> %build
|--> [...]
|
|--> %install
|
|--> %{__spec_install_post}
| |--> %{?__hal_rootstrap_checker_install_post}
| (Overwritten by /etc/rpm/macros.hal-rootstrap-checker)
| |--> /etc/hal/rootstrap/hal-rootstrap-checker.sh
| |--> Stop rpmbuild if hal-rootstrap-checker
| blames that something not allowed dependencies
| have been specified. Otherwise, continue the
| remaining procedure.
|
|--> [...]
Change-Id: I2ae618dc82d8d2eb71cc675888833d94795337aa
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
Youngjae Cho [Tue, 20 Aug 2024 02:10:44 +0000 (11:10 +0900)]
packaging: Initialize prerequisites for packaging
Change-Id: Ib3aa6282603b0df236ac54b6174ca5a243644951
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
Jinkun Jang [Tue, 20 Aug 2024 00:03:55 +0000 (00:03 +0000)]
Initial empty repository