Merge pull request #6 from CereusLinuxProject/master
Backup current master branch in oldrepo
This commit is contained in:
commit
be5540fc78
243 changed files with 5207 additions and 1765 deletions
73
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
Normal file
73
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
Normal file
|
@ -0,0 +1,73 @@
|
|||
name: Bug Report
|
||||
description: File a bug report
|
||||
labels: ["bug", "needs-testing"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: >
|
||||
#### Don't request an update of a package,
|
||||
[We have a script for that](https://alpha.de.repo.voidlinux.org/void-updates/void-updates.txt).
|
||||
However, a quality pull request may help.
|
||||
- id: verified
|
||||
type: dropdown
|
||||
attributes:
|
||||
label: Is this a new report?
|
||||
description: I verified that there isn't already an open issue for this bug
|
||||
options:
|
||||
- "Yes"
|
||||
- "No"
|
||||
validations:
|
||||
required: true
|
||||
- id: xuname
|
||||
type: input
|
||||
attributes:
|
||||
label: System Info
|
||||
description: Output of `xuname` (part of [`xtools`](https://man.voidlinux.org/xtools.1))
|
||||
placeholder: Void 5.x.y_z x86_64-musl ...
|
||||
validations:
|
||||
required: true
|
||||
- id: packages
|
||||
type: input
|
||||
attributes:
|
||||
label: Package(s) Affected
|
||||
description: Affected package(s) including version (this can be found with `xbps-query -p pkgver foo`)
|
||||
placeholder: foo-1.0.2_5, bar-5.6.7_1, baz-0.0.3_5, ...
|
||||
validations:
|
||||
required: true
|
||||
- id: upstream
|
||||
type: textarea
|
||||
attributes:
|
||||
label: Does a report exist for this bug with the project's home (upstream) and/or another distro?
|
||||
description: If so, link it here (It's fine if there's none)
|
||||
placeholder: |
|
||||
For example:
|
||||
https://bugs.kde.org/show_bug.cgi?id=432975
|
||||
https://bugs.gentoo.org/767478
|
||||
- id: expected
|
||||
type: textarea
|
||||
attributes:
|
||||
label: Expected behaviour
|
||||
description: A clear and concise description of what you expected to happen
|
||||
placeholder: The package is supposed to do this thing.
|
||||
validations:
|
||||
required: true
|
||||
- id: description
|
||||
type: textarea
|
||||
attributes:
|
||||
label: Actual behaviour
|
||||
description: A clear and concise description of what the bug is
|
||||
placeholder: There was a crash when...
|
||||
validations:
|
||||
required: true
|
||||
- id: steps
|
||||
type: textarea
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
description: Clear steps to reproduce the bug
|
||||
placeholder: |
|
||||
1. Do the thing
|
||||
2. Do the other thing
|
||||
3. ???
|
||||
4. Crash :(
|
||||
validations:
|
||||
required: true
|
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
blank_issues_enabled: true
|
||||
contact_links:
|
||||
- name: Other kind of issue
|
||||
url: https://github.com/void-linux/void-packages/issues/new
|
||||
about: For RFCs, tracking issues, etc (freeform text)
|
59
.github/ISSUE_TEMPLATE/pkg-request.yml
vendored
Normal file
59
.github/ISSUE_TEMPLATE/pkg-request.yml
vendored
Normal file
|
@ -0,0 +1,59 @@
|
|||
name: Package Request
|
||||
title: "Package request: "
|
||||
description: Request the addition of a package
|
||||
labels: ["request"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: >
|
||||
#### Don't request an update of a package,
|
||||
[We have a script for that](https://alpha.de.repo.voidlinux.org/void-updates/void-updates.txt).
|
||||
However, a quality pull request may help.
|
||||
- id: name
|
||||
type: input
|
||||
attributes:
|
||||
label: Package name
|
||||
placeholder: foobar9k
|
||||
validations:
|
||||
required: true
|
||||
- id: homepage
|
||||
type: input
|
||||
attributes:
|
||||
label: Package homepage
|
||||
placeholder: https://example.com/foobar9k
|
||||
validations:
|
||||
required: true
|
||||
- id: description
|
||||
type: textarea
|
||||
attributes:
|
||||
label: Description
|
||||
description: What does the package do?
|
||||
placeholder: >
|
||||
Foobar9k is a music player that turns your music up to 11.
|
||||
It provides features X, Y, and Z, which other music players in Void don't.
|
||||
validations:
|
||||
required: true
|
||||
- id: quality
|
||||
type: dropdown
|
||||
attributes:
|
||||
label: Does the requested package meet the package requirements?
|
||||
description: |
|
||||
See [CONTRIBUTING.md](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements) for details
|
||||
multiple: true
|
||||
options:
|
||||
- System
|
||||
- Compiled
|
||||
- Required
|
||||
validations:
|
||||
required: true
|
||||
- id: released
|
||||
type: dropdown
|
||||
attributes:
|
||||
label: Is the requested package released?
|
||||
description: |
|
||||
See [CONTRIBUTING.md](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements) for details
|
||||
options:
|
||||
- "Yes"
|
||||
- "No"
|
||||
validations:
|
||||
required: true
|
20
.github/issue_template.md
vendored
20
.github/issue_template.md
vendored
|
@ -1,14 +1,8 @@
|
|||
<!-- Don't request update of package. We have a script for that. https://alpha.de.repo.voidlinux.org/void-updates/void-updates.txt . However, a quality pull request may help. -->
|
||||
### System
|
||||
|
||||
* xuname:
|
||||
*output of ``xuname`` (part of xtools)*
|
||||
* package:
|
||||
*affected package(s) including the version*: ``xbps-query -p pkgver <pkgname>``
|
||||
|
||||
### Expected behavior
|
||||
|
||||
### Actual behavior
|
||||
|
||||
### Steps to reproduce the behavior
|
||||
<!--
|
||||
if you are creating a bug report or package request, please fill out one of the forms here:
|
||||
https://github.com/void-linux/void-packages/issues/new/choose
|
||||
|
||||
Don't request an update of a package, We have a script for that:
|
||||
https://alpha.de.repo.voidlinux.org/void-updates/void-updates.txt
|
||||
However, a quality pull request may help.
|
||||
-->
|
||||
|
|
4
.github/pull_request_template.md
vendored
4
.github/pull_request_template.md
vendored
|
@ -5,7 +5,7 @@
|
|||
|
||||
<!--
|
||||
#### New package
|
||||
- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**|**NO**
|
||||
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
|
||||
-->
|
||||
|
||||
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
|
||||
|
@ -13,7 +13,7 @@ https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuo
|
|||
and test at least one native build and, if supported, at least one cross build.
|
||||
Ignore this section if this PR is not skipping CI.
|
||||
-->
|
||||
<!--
|
||||
<!--
|
||||
#### Local build testing
|
||||
- I built this PR locally for my native architecture, (ARCH-LIBC)
|
||||
- I built this PR locally for these architectures (if supported. mark crossbuilds):
|
||||
|
|
37
.github/workflows/build.yaml
vendored
37
.github/workflows/build.yaml
vendored
|
@ -2,18 +2,26 @@ name: Check build
|
|||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'srcpkgs/**'
|
||||
push:
|
||||
branches:
|
||||
- 'ci-**'
|
||||
paths:
|
||||
- 'srcpkgs/**'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
# Lint changed templates.
|
||||
xlint:
|
||||
name: Lint templates
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
env:
|
||||
PATH: '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/usr/local/bin:/tmp/bin'
|
||||
PATH: '/usr/libexec/chroot-git:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/usr/local/bin:/tmp/bin'
|
||||
XLINT: '1'
|
||||
LICENSE_LIST: common/travis/license.lst
|
||||
|
||||
|
@ -30,13 +38,13 @@ jobs:
|
|||
# Build changed packages.
|
||||
build:
|
||||
name: Build packages
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-latest
|
||||
if: "!contains(github.event.pull_request.title, '[ci skip]') && !contains(github.event.pull_request.body, '[ci skip]')"
|
||||
|
||||
container:
|
||||
image: 'ghcr.io/void-linux/xbps-src-masterdir:20210313rc01-${{ matrix.config.bootstrap }}'
|
||||
image: 'ghcr.io/void-linux/xbps-src-masterdir:20220527RC01-${{ matrix.config.bootstrap }}'
|
||||
env:
|
||||
PATH: '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/usr/local/bin:/tmp/bin'
|
||||
PATH: '/usr/libexec/chroot-git:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/usr/local/bin:/tmp/bin'
|
||||
ARCH: '${{ matrix.config.arch }}'
|
||||
BOOTSTRAP: '${{ matrix.config.bootstrap }}'
|
||||
TEST: '${{ matrix.config.test }}'
|
||||
|
@ -57,6 +65,9 @@ jobs:
|
|||
steps:
|
||||
- name: Prepare container
|
||||
run: |
|
||||
# switch to repo-ci mirror
|
||||
mkdir -p /etc/xbps.d && cp /usr/share/xbps.d/*-repository-*.conf /etc/xbps.d/
|
||||
sed -i 's|repo-default|repo-ci|g' /etc/xbps.d/*-repository-*.conf
|
||||
# Sync and upgrade once, assume error comes from xbps update
|
||||
xbps-install -Syu || xbps-install -yu xbps
|
||||
# Upgrade again (in case there was a xbps update)
|
||||
|
@ -90,6 +101,22 @@ jobs:
|
|||
"$here/common/travis/show_files.sh" "$BOOTSTRAP" "$ARCH"
|
||||
)
|
||||
|
||||
- name: Compare to previous
|
||||
run: |
|
||||
(
|
||||
here="$(pwd)"
|
||||
cd /
|
||||
"$here/common/travis/xpkgdiff.sh" "$BOOTSTRAP" "$ARCH"
|
||||
)
|
||||
|
||||
- name: Check file conflicts
|
||||
if: matrix.config.arch == 'x86_64' # the arch indexed in xlocate
|
||||
run: |
|
||||
if [ -s /tmp/templates ]; then
|
||||
xlocate -S &&
|
||||
common/scripts/lint-conflicts $HOME/hostdir/binpkgs
|
||||
fi
|
||||
|
||||
- name: Verify repository state
|
||||
run: |
|
||||
(
|
||||
|
|
10
.github/workflows/cycles.yml
vendored
10
.github/workflows/cycles.yml
vendored
|
@ -7,11 +7,16 @@ on:
|
|||
jobs:
|
||||
cycles:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
issues: write
|
||||
container:
|
||||
image: 'ghcr.io/void-linux/xbps-src-masterdir:20210313rc01-x86_64-musl'
|
||||
image: 'ghcr.io/void-linux/xbps-src-masterdir:20220527RC01-x86_64-musl'
|
||||
steps:
|
||||
- name: Prepare container
|
||||
run: |
|
||||
# switch to repo-ci mirror
|
||||
mkdir -p /etc/xbps.d && cp /usr/share/xbps.d/*-repository-*.conf /etc/xbps.d/
|
||||
sed -i 's|repo-default|repo-ci|g' /etc/xbps.d/*-repository-*.conf
|
||||
# Sync and upgrade once, assume error comes from xbps update
|
||||
xbps-install -Syu || xbps-install -yu xbps
|
||||
# Upgrade again (in case there was a xbps update)
|
||||
|
@ -28,6 +33,9 @@ jobs:
|
|||
common/travis/prepare.sh
|
||||
- name: Find cycles and open issues
|
||||
run: |
|
||||
PATH="/usr/libexec/chroot-git:$PATH"
|
||||
# required by git 2.35.2+
|
||||
git config --global --add safe.directory "$PWD"
|
||||
common/scripts/xbps-cycles.py | tee cycles
|
||||
grep 'Cycle:' cycles | while read -r line; do
|
||||
if gh issue list -R "$GITHUB_REPOSITORY" -S "$line" | grep .; then
|
||||
|
|
46
.github/workflows/manual_check_cycles.yml
vendored
Normal file
46
.github/workflows/manual_check_cycles.yml
vendored
Normal file
|
@ -0,0 +1,46 @@
|
|||
name: 'Cycle Check'
|
||||
|
||||
on: workflow_dispatch
|
||||
|
||||
jobs:
|
||||
cycles:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
issues: write
|
||||
container:
|
||||
image: 'ghcr.io/void-linux/xbps-src-masterdir:20220527RC01-x86_64-musl'
|
||||
steps:
|
||||
- name: Prepare container
|
||||
run: |
|
||||
# switch to repo-ci mirror
|
||||
mkdir -p /etc/xbps.d && cp /usr/share/xbps.d/*-repository-*.conf /etc/xbps.d/
|
||||
sed -i 's|repo-default|repo-ci|g' /etc/xbps.d/*-repository-*.conf
|
||||
# Sync and upgrade once, assume error comes from xbps update
|
||||
xbps-install -Syu || xbps-install -yu xbps
|
||||
# Upgrade again (in case there was a xbps update)
|
||||
xbps-install -yu
|
||||
# Install script dependencies
|
||||
xbps-install -y python3-networkx github-cli
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
fetch-depth: 1
|
||||
- name: Create hostrepo and prepare masterdir
|
||||
run: |
|
||||
ln -s "$(pwd)" /hostrepo &&
|
||||
common/travis/set_mirror.sh &&
|
||||
common/travis/prepare.sh
|
||||
- name: Find cycles and open issues
|
||||
run: |
|
||||
PATH="/usr/libexec/chroot-git:$PATH"
|
||||
# required by git 2.35.2+
|
||||
git config --global --add safe.directory "$PWD"
|
||||
common/scripts/xbps-cycles.py | tee cycles
|
||||
grep 'Cycle:' cycles | while read -r line; do
|
||||
if gh issue list -R "$GITHUB_REPOSITORY" -S "$line" | grep .; then
|
||||
printf "Issue on '%s' already exists.\n" "$line"
|
||||
else
|
||||
gh issue create -R "$GITHUB_REPOSITORY" -b '' -t "$line"
|
||||
fi
|
||||
done
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN }}
|
18
.github/workflows/notify-telegram.yml
vendored
Normal file
18
.github/workflows/notify-telegram.yml
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
name: Telegram notification
|
||||
on: [push]
|
||||
jobs:
|
||||
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Notify to internal Telegram group on push
|
||||
uses: appleboy/telegram-action@master
|
||||
with:
|
||||
to: ${{ secrets.TG_INTERNAL_GROUP_ID }}
|
||||
token: ${{ secrets.TG_INTERNAL_BOT_TOKEN }}
|
||||
format: markdown
|
||||
message: |
|
||||
[New commit](https://github.com/${{ github.repository }}/commit/${{github.sha}}) to [${{ github.repository }}](https://github.com/${{ github.repository }}):
|
||||
|
||||
*${{ github.event.commits[0].message }}* by [${{ github.actor }}](https://github.com/${{ github.actor }}).
|
16
.github/workflows/stale.yml
vendored
16
.github/workflows/stale.yml
vendored
|
@ -9,13 +9,17 @@ on:
|
|||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
steps:
|
||||
- uses: actions/stale@v4
|
||||
- uses: actions/stale@v6
|
||||
with:
|
||||
stale-issue-message: 'Issues become stale 90 days after last activity and are closed 7 days after that. If this issue is still relevant bump it or assign it.'
|
||||
stale-pr-message: 'Pull Requests become stale 90 days after last activity and are closed 7 days after that. If this pull request is still relevant bump it or assign it.'
|
||||
stale-issue-message: 'Issues become stale 90 days after last activity and are closed 14 days after that. If this issue is still relevant bump it or assign it.'
|
||||
stale-pr-message: 'Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.'
|
||||
days-before-stale: 90
|
||||
days-before-close: 7
|
||||
debug-only: true
|
||||
days-before-close: 14
|
||||
exempt-all-assignees: true
|
||||
operations-per-run: 1000
|
||||
ascending: true
|
||||
operations-per-run: 250
|
||||
exempt-issue-labels: 'request,bug,tracking'
|
||||
|
|
129
CONTRIBUTING.md
129
CONTRIBUTING.md
|
@ -4,15 +4,39 @@ void-packages is the backbone of the Void Linux distribution. It contains all th
|
|||
|
||||
This document describes how you, as a contributor, can help with adding packages, correcting bugs and adding features to void-packages.
|
||||
|
||||
## Getting your packages into Void by yourself
|
||||
## Package Requirements
|
||||
|
||||
If you really want to get a package into Void Linux, we recommend you package it yourself.
|
||||
To be included in the Void repository, software must meet at least one of the following requirements.
|
||||
Exceptions to the list are possible, and might be accepted, but are extremely unlikely.
|
||||
If you believe you have an exception, start a PR and make an argument for why that particular piece of software,
|
||||
while not meeting any of the following requirements, is a good candidate for the Void packages system.
|
||||
|
||||
1. **System**: The software should be installed system-wide, not per-user.
|
||||
|
||||
1. **Compiled**: The software needs to be compiled before being used, even if it is software that is not needed by the whole system.
|
||||
|
||||
1. **Required**: Another package either within the repository or pending inclusion requires the package.
|
||||
|
||||
In particular, new themes are highly unlikely to be accepted.
|
||||
Simple shell scripts are unlikely to be accepted unless they provide considerable value to a broad user base.
|
||||
New fonts may be accepted if they provide value beyond aesthetics (e.g. they contain glyphs for a script missing in already packaged fonts).
|
||||
|
||||
Browser forks, including those based on Chromium and Firefox, are generally not accepted.
|
||||
Such forks require heavy patching, maintenance and hours of build time.
|
||||
|
||||
Software need to be used in version announced by authors as ready to use by the general public - usually called releases.
|
||||
Betas, arbitrary VCS revisions, templates using tip of development branch taken at build time and releases created by the package maintainer won't be accepted.
|
||||
|
||||
## Creating, updating, and modifying packages in Void by yourself
|
||||
|
||||
If you really want to get a new package or package update into Void Linux, we recommend you contribute it yourself.
|
||||
|
||||
We provide a [comprehensive Manual](./Manual.md) on how to create new packages.
|
||||
There's also a [manual for xbps-src](./README.md), which is used
|
||||
to build package files from templates.
|
||||
There's also a [manual for xbps-src](./README.md), which is used to build package files from templates.
|
||||
|
||||
For this guide, we assume you have basic knowledge about [git](http://git-scm.org), as well as a [GitHub Account](http://github.com).
|
||||
For this guide, we assume you have basic knowledge about [git](http://git-scm.org), as well as a [GitHub Account](http://github.com) with [SSH set up](https://docs.github.com/en/authentication/connecting-to-github-with-ssh).
|
||||
|
||||
You should also [set the email](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address) on your GitHub account and in git so your commits are associated with your GitHub account properly.
|
||||
|
||||
To get started, [fork](https://help.github.com/articles/fork-a-repo) the void-linux `void-packages` git repository on GitHub and clone it:
|
||||
|
||||
|
@ -23,9 +47,24 @@ To keep your forked repository up to date, setup the `upstream` remote to pull i
|
|||
$ git remote add upstream https://github.com/void-linux/void-packages.git
|
||||
$ git pull --rebase upstream master
|
||||
|
||||
This can also be done with the `github-cli` tool:
|
||||
|
||||
$ gh repo fork void-linux/void-packages
|
||||
$ gh repo clone <user>/void-packages
|
||||
|
||||
This automatically sets up the `upstream` remote, so `git pull --rebase upstream master` can still be used to keep your fork up-to-date.
|
||||
|
||||
Using the GitHub web editor for making changes is strongly discouraged, because you will need to clone the repo anyways to edit and test your changes.
|
||||
|
||||
using the the `master` branch of your fork for contributing is also strongly discouraged.
|
||||
It can cause many issues with updating your pull request (also called a PR), and having multiple PRs open at once.
|
||||
To create a new branch:
|
||||
|
||||
$ git checkout master -b <a-descriptive-name>
|
||||
|
||||
### Creating a new template
|
||||
|
||||
You can use the helper tool `xnew`, from the [xtools](https://github.com/chneukirchen/xtools) package, to create new templates:
|
||||
You can use the helper tool `xnew`, from the [xtools](https://github.com/leahneukirchen/xtools) package, to create new templates:
|
||||
|
||||
$ xnew pkgname subpkg1 subpkg2 ...
|
||||
|
||||
|
@ -33,44 +72,58 @@ Templates must have the name `void-packages/srcpkgs/<pkgname>/template`, where `
|
|||
|
||||
For deeper insights on the contents of template files, please read the [manual](./Manual.md), and be sure to browse the existing template files in the `srcpkgs` directory of this repository for concrete examples.
|
||||
|
||||
When you've finished working on the template file, please check it with `xlint` helper from the [xtools](https://github.com/chneukirchen/xtools) package:
|
||||
### Updating a template
|
||||
|
||||
At minimum, a template update will consist of changing `version` and `checksum`, if there was an upstream version change, and/or `revision`, if a template-specific change (e.g. patch, correction, etc.) is needed.
|
||||
Other changes to the template may be needed depending on what changes the upstream has made.
|
||||
|
||||
The checksum can be updated automatically with the `xgensum` helper from the [xtools](https://github.com/leahneukirchen/xtools) package:
|
||||
|
||||
$ xgensum -i <pkgname>
|
||||
|
||||
### Committing your changes
|
||||
|
||||
After making your changes, please check that the package builds successfully. From the top level directory of your local copy of the `void-packages` repository, run:
|
||||
|
||||
$ ./xbps-src pkg <pkgname>
|
||||
|
||||
Your package must build successfully for at least x86, but we recommend also trying a cross-build for armv6l* as well, e.g.:
|
||||
|
||||
$ ./xbps-src -a armv6l pkg <pkgname>
|
||||
|
||||
When building for `x86_64*` or `i686`, building with the `-Q` flag or with `XBPS_CHECK_PKGS=yes` set in `etc/conf` (to run the check phase) is strongly encouraged.
|
||||
Also, new packages and updates will not be accepted unless they have been runtime tested by installing and running the package.
|
||||
|
||||
When you've finished working on the template file, please check it with `xlint` helper from the [xtools](https://github.com/leahneukirchen/xtools) package:
|
||||
|
||||
$ xlint template
|
||||
|
||||
If `xlint` reports any issues, resolve them before committing.
|
||||
|
||||
### Committing your changes
|
||||
|
||||
Once you have made and verified your changes to the package template and/or other files, make one commit per package (including all changes to its sub-packages). Each commit message should have one of the following formats:
|
||||
|
||||
* for new packages, use ```New package: <pkgname>-<version>``` ([example](https://github.com/void-linux/void-packages/commit/176d9655429188aac10cd229827f99b72982ab10)).
|
||||
* for new packages, use `New package: <pkgname>-<version>` ([example](https://github.com/void-linux/void-packages/commit/8ed8d41c40bf6a82cf006c7e207e05942c15bff8)).
|
||||
|
||||
* for package updates, use ```<pkgname>: update to <version>.``` ([example](https://github.com/void-linux/void-packages/commit/b6b82dcbd4aeea5fc37a32e4b6a8dd8bd980d5a3)).
|
||||
* for package updates, use `<pkgname>: update to <version>.` ([example](https://github.com/void-linux/void-packages/commit/c92203f1d6f33026ae89f3e4c1012fb6450bbac1)).
|
||||
|
||||
* for template modifications without a version change, use ```<pkgname>: <reason>``` ([example](https://github.com/void-linux/void-packages/commit/8b68d6bf1eb997cd5e7c095acd040e2c5379c91d)).
|
||||
* for template modifications without a version change, use `<pkgname>: <reason>` ([example](https://github.com/void-linux/void-packages/commit/ff39c912d412717d17232de9564f659b037e95b5)).
|
||||
|
||||
* for package removals, use ```<pkgname>: remove package``` ([example](https://github.com/void-linux/void-packages/commit/83784632d94deee5d038c8e1c4c1dffa922fca21)).
|
||||
* for package removals, use `<pkgname>: remove package` and include the removal reason in the commit body ([example](https://github.com/void-linux/void-packages/commit/4322f923bdf5d4e0eb36738d4f4717d72d0a0ca4)).
|
||||
|
||||
* for `common/shlibs` modifications, use `common/shlibs: <pkgname>` ([example](https://github.com/void-linux/void-packages/commit/613651c91811cb4fd2e1a6be701c87072d759a9f)).
|
||||
* for changes to any other file, use `<filename>: <reason>` ([example](https://github.com/void-linux/void-packages/commit/e00bea014c36a70d60acfa1758514b0c7cb0627d),
|
||||
[example](https://github.com/void-linux/void-packages/commit/93bf159ce10d8e474da5296e5bc98350d00c6c82), [example](https://github.com/void-linux/void-packages/commit/dc62938c67b66a7ff295eab541dc37b92fb9fb78), [example](https://github.com/void-linux/void-packages/commit/e52317e939d41090562cf8f8131a68772245bdde))
|
||||
|
||||
If you want to describe your changes in more detail, add an empty line followed by those details ([example](https://github.com/void-linux/void-packages/commit/f1c45a502086ba1952f23ace9084a870ce437bc6)).
|
||||
If you want to describe your changes in more detail, explain in the commit body (separated from the first line with a blank line) ([example](https://github.com/void-linux/void-packages/commit/f1c45a502086ba1952f23ace9084a870ce437bc6)).
|
||||
|
||||
`xbump`, available in the [xtools](https://github.com/chneukirchen/xtools) package, can be used to commit a new or updated package:
|
||||
`xbump`, available in the [xtools](https://github.com/leahneukirchen/xtools) package, can be used to commit a new or updated package:
|
||||
|
||||
$ xbump <pkgname> <git commit options>
|
||||
|
||||
`xbump` will use `git commit` to commit the changes with the appropriate commit message. For more fine-grained control over the commit, specific options can be passed to `git commit` by adding them after the package name.
|
||||
`xrevbump`, also available in the [xtools](https://github.com/leahneukirchen/xtools) package, can be used to commit a template modification for a package:
|
||||
|
||||
After committing your changes, please check that the package builds successfully. From the top level directory of your local copy of the `void-packages` repository, run:
|
||||
$ xrevbump '<message>' <pkgnames...>
|
||||
|
||||
$ ./xbps-src pkg <pkgname>
|
||||
|
||||
Your package must build successfully for at least x86, but we recommend trying to build for armv* as well, e.g.:
|
||||
|
||||
$ ./xbps-src -a armv7l pkg <pkgname>
|
||||
|
||||
Runtime testing of packages and building with the `-Q` flag or with `XBPS_CHECK_PKGS=yes` set in the environment or `etc/conf` are strongly encouraged.
|
||||
New packages will not be accepted unless they have been runtime tested.
|
||||
`xbump` and `xrevbump` will use `git commit` to commit the changes with the appropriate commit message. For more fine-grained control over the commit, specific options can be passed to `git commit` by adding them after the package name.
|
||||
|
||||
### Starting a pull request
|
||||
|
||||
|
@ -123,9 +176,31 @@ Once you have applied all requested changes, the reviewers will merge your reque
|
|||
If the pull request becomes inactive for some days, the reviewers may or may not warn you when they are about to close it.
|
||||
If it stays inactive further, it will be closed.
|
||||
|
||||
Please abstain from temporarily closing a pull request while revising the templates. Instead, leave a comment on the PR describing what still needs work, or add "[WIP]" to the PR title. Only close your pull request if you're sure you don't want your changes to be included.
|
||||
Please abstain from temporarily closing a pull request while revising the templates. Instead, leave a comment on the PR describing what still needs work, [mark it as a draft](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#converting-a-pull-request-to-a-draft), or add "[WIP]" to the PR title. Only close your pull request if you're sure you don't want your changes to be included.
|
||||
|
||||
#### Publishing the package
|
||||
|
||||
Once the reviewers have merged the pull request, our [build server](http://build.voidlinux.org) is automatically triggered and builds
|
||||
all packages in the pull request for all supported platforms. Upon completion, the packages are available to all Void Linux users.
|
||||
|
||||
## Testing Pull Requests
|
||||
|
||||
While it is the responsibility of the PR creator to test changes before sending it, one person can't test all configuration options, usecases, hardware, etc.
|
||||
Testing new package submissions and updates is always helpful, and is a great way to get started with contributing.
|
||||
First, [clone the repository](https://github.com/void-linux/void-packages#quick-start) if you haven't done so already.
|
||||
Then check out the pull request, either with `github-cli`:
|
||||
|
||||
$ gh pr checkout <number>
|
||||
|
||||
Or with `git`:
|
||||
|
||||
If your local void-packages repository is cloned from your fork, you may need to add the main repository as a remote first:
|
||||
|
||||
$ git remote add upstream https://github.com/void-linux/void-packages.git
|
||||
|
||||
Then fetch and check out the PR (replacing `<remote>` with either `origin` or `upstream`):
|
||||
|
||||
$ git fetch <remote> pull/<number>/head:<branch-name>
|
||||
$ git checkout <branch-name>
|
||||
|
||||
Then [build and install](https://github.com/void-linux/void-packages#building-packages) the package and test its functionality.
|
||||
|
|
96
Manual.md
96
Manual.md
|
@ -6,7 +6,6 @@ packages for XBPS, the `Void Linux` native packaging system.
|
|||
*Table of Contents*
|
||||
|
||||
* [Introduction](#Introduction)
|
||||
* [Quality Requirements](#quality_requirements)
|
||||
* [Package build phases](#buildphase)
|
||||
* [Package naming conventions](#namingconventions)
|
||||
* [Libraries](#libs)
|
||||
|
@ -62,6 +61,7 @@ packages for XBPS, the `Void Linux` native packaging system.
|
|||
* [kernel-hooks](#triggers_kernel_hooks)
|
||||
* [mimedb](#triggers_mimedb)
|
||||
* [mkdirs](#triggers_mkdirs)
|
||||
* [openjdk-profile](#triggers_openjdk_profile)
|
||||
* [pango-modules](#triggers_pango_module)
|
||||
* [pycompile](#triggers_pycompile)
|
||||
* [register-shell](#triggers_register_shell)
|
||||
|
@ -123,38 +123,6 @@ If everything went fine after running
|
|||
a binary package named `foo-1.0_1.<arch>.xbps` will be generated in the local repository
|
||||
`hostdir/binpkgs`.
|
||||
|
||||
<a id="quality_requirements"></a>
|
||||
### Quality Requirements
|
||||
|
||||
To be included in the Void repository, software must meet at least one
|
||||
of the following requirements. Exceptions to the list are possible,
|
||||
and might be accepted, but are extremely unlikely. If you believe you have an
|
||||
exception, start a PR and make an argument for why that particular piece of
|
||||
software, while not meeting any of the following requirements, is a good candidate for
|
||||
the Void packages system.
|
||||
|
||||
1. System: The software should be installed system-wide, not per-user.
|
||||
|
||||
1. Compiled: The software needs to be compiled before being used, even if it is
|
||||
software that is not needed by the whole system.
|
||||
|
||||
1. Required: Another package either within the repository or pending inclusion
|
||||
requires the package.
|
||||
|
||||
In particular, new themes are highly unlikely to be accepted. Simple shell
|
||||
scripts are unlikely to be accepted unless they provide considerable value to a
|
||||
broad user base. New fonts may be accepted if they provide value beyond
|
||||
aesthetics (e.g. they contain glyphs for a script missing in already packaged
|
||||
fonts).
|
||||
|
||||
Browser forks, including those based on Chromium and Firefox, are generally not
|
||||
accepted. Such forks require heavy patching, maintenance and hours of build time.
|
||||
|
||||
Software need to be used in version announced by authors as ready to use by
|
||||
the general public - usually called releases. Betas, arbitrary VCS revisions,
|
||||
templates using tip of development branch taken at build time and releases
|
||||
created by the package maintainer won't be accepted.
|
||||
|
||||
<a id="buildphase"></a>
|
||||
### Package build phases
|
||||
|
||||
|
@ -427,6 +395,8 @@ in this directory such as `${XBPS_BUILDDIR}/${wrksrc}`.
|
|||
|
||||
- `XBPS_RUST_TARGET` The target architecture triplet used by `rustc` and `cargo`.
|
||||
|
||||
- `XBPS_BUILD_ENVIRONMENT` Enables continuous-integration-specific operations. Set to `void-packages-ci` if in continuous integration.
|
||||
|
||||
<a id="available_vars"></a>
|
||||
### Available variables
|
||||
|
||||
|
@ -463,7 +433,7 @@ the generated `binary packages` have been modified.
|
|||
- `short_desc` A string with a brief description for this package. Max 72 chars.
|
||||
|
||||
- `version` A string with the package version. Must not contain dashes or underscore
|
||||
and at least one digit is required. Shell's variable substition usage is not allowed.
|
||||
and at least one digit is required. Shell's variable substitution usage is not allowed.
|
||||
|
||||
Neither `pkgname` or `version` should contain special characters which make it
|
||||
necessary to quote them, so they shouldn't be quoted in the template.
|
||||
|
@ -542,13 +512,14 @@ can be specified by prepending a commercial at (@).
|
|||
For tarballs you can find the contents checksum by using the command
|
||||
`tar xf <tarball.ext> --to-stdout | sha256sum`.
|
||||
|
||||
- `wrksrc` The directory name where the package sources are extracted, by default
|
||||
set to `${pkgname}-${version}`. If the top level directory of a package's `distfile` is different from the default, `wrksrc` must be set to the top level directory name inside the archive.
|
||||
- `wrksrc` The directory name where the package sources are extracted, set to `${pkgname}-${version}`.
|
||||
|
||||
- `build_wrksrc` A directory relative to `${wrksrc}` that will be used when building the package.
|
||||
|
||||
- `create_wrksrc` Enable it to create the `${wrksrc}` directory. Required if a package
|
||||
contains multiple `distfiles`.
|
||||
- `create_wrksrc` Usually, after extracting, if there're multiple top-level
|
||||
files and/or directories or when there're no directories at all, top-level files,
|
||||
and directories will be wrapped inside one more layer of directory.
|
||||
Set `create_wrksrc` to force this behaviour.
|
||||
|
||||
- `build_style` This specifies the `build method` for a package. Read below to know more
|
||||
about the available package `build methods` or effect of leaving this not set.
|
||||
|
@ -577,10 +548,8 @@ build methods. Unset by default.
|
|||
`${build_style}` is set to `configure`, `gnu-configure` or `gnu-makefile`
|
||||
build methods. Unset by default.
|
||||
|
||||
- `make_install_args` The arguments to be passed in to `${make_cmd}` at the `install-destdir`
|
||||
phase if `${build_style}` is set to `configure`, `gnu-configure` or
|
||||
`gnu-makefile` build methods. By default set to
|
||||
`PREFIX=/usr DESTDIR=${DESTDIR}`.
|
||||
- `make_install_args` The arguments to be passed in to `${make_cmd}` at the `install`
|
||||
phase if `${build_style}` is set to `configure`, `gnu-configure` or `gnu-makefile` build methods.
|
||||
|
||||
- `make_build_target` The build target. If `${build_style}` is set to `configure`, `gnu-configure`
|
||||
or `gnu-makefile`, this is the target passed to `${make_cmd}` in the build phase;
|
||||
|
@ -600,6 +569,9 @@ path of the Python wheel produced by the build phase that will be installed; whe
|
|||
`python-pep517` build style will look for a wheel matching the package name and version in the
|
||||
current directory with respect to the install.
|
||||
|
||||
- `make_check_pre` The expression in front of `${make_cmd}`. This can be used for wrapper commands
|
||||
or for setting environment variables for the check command. By default empty.
|
||||
|
||||
- `patch_args` The arguments to be passed in to the `patch(1)` command when applying
|
||||
patches to the package sources during `do_patch()`. Patches are stored in
|
||||
`srcpkgs/<pkgname>/patches` and must be in `-p1` format. By default set to `-Np1`.
|
||||
|
@ -609,6 +581,11 @@ and `XBPS_MAKEJOBS` will be set to 1. If a package does not work well with `XBPS
|
|||
but still has a mechanism to build in parallel, set `disable_parallel_build` and
|
||||
use `XBPS_ORIG_MAKEJOBS` (which holds the original value of `XBPS_MAKEJOBS`) in the template.
|
||||
|
||||
- `disable_parallel_check` If set tests for the package won't be built and run in parallel
|
||||
and `XBPS_MAKEJOBS` will be set to 1. If a package does not work well with `XBPS_MAKEJOBS`
|
||||
but still has a mechanism to run checks in parallel, set `disable_parallel_check` and
|
||||
use `XBPS_ORIG_MAKEJOBS` (which holds the original value of `XBPS_MAKEJOBS`) in the template.
|
||||
|
||||
- `make_check` Sets the cases in which the `check` phase is run.
|
||||
This option has to be accompanied by a comment explaining why the tests fail.
|
||||
Allowed values:
|
||||
|
@ -653,7 +630,7 @@ debugging symbols. Files can be given by full path or by filename.
|
|||
- `noshlibprovides` If set, the ELF binaries won't be inspected to collect the provided
|
||||
sonames in shared libraries.
|
||||
|
||||
- `noverifyrdeps` If set, the ELF binaries and shared libaries won't be inspected to collect
|
||||
- `noverifyrdeps` If set, the ELF binaries and shared libraries won't be inspected to collect
|
||||
their reverse dependencies. You need to specify all dependencies in the `depends` when you
|
||||
need to set this.
|
||||
|
||||
|
@ -693,7 +670,7 @@ This appends to the generated file rather than replacing it.
|
|||
- `nopie` Only needs to be set to something to make active, disables building the package with hardening
|
||||
features (PIE, relro, etc). Not necessary for most packages.
|
||||
|
||||
- `nopie_files` White-space seperated list of ELF binaries that won't be checked
|
||||
- `nopie_files` White-space separated list of ELF binaries that won't be checked
|
||||
for PIE. Files must be given by full path.
|
||||
|
||||
- `reverts` xbps supports a unique feature which allows to downgrade from broken
|
||||
|
@ -779,7 +756,7 @@ A special value `noarch` used to be available, but has since been removed.
|
|||
So far, we have listed four types of `depends` variables: `hostmakedepends`,
|
||||
`makedepends`, `checkdepends` and `depends`. These different kinds of variables
|
||||
are necessary because `xbps-src` supports cross compilation and to avoid
|
||||
installing unecessary packages in the build environment.
|
||||
installing unnecessary packages in the build environment.
|
||||
|
||||
During a build process, there are programs that must be _run_ on the host, such
|
||||
as `yacc` or the C compiler. The packages that contain these programs should be
|
||||
|
@ -1124,9 +1101,9 @@ Current working directory for functions is set as follows:
|
|||
|
||||
- For do_fetch, post_fetch: `XBPS_BUILDDIR`.
|
||||
|
||||
- For do_extract, post_extract: `wrksrc`.
|
||||
- For do_extract through do_patch: `wrksrc`.
|
||||
|
||||
- For pre_patch through post_install: `build_wrksrc`
|
||||
- For post_patch through post_install: `build_wrksrc`
|
||||
if it is defined, otherwise `wrksrc`.
|
||||
|
||||
<a id="build_options"></a>
|
||||
|
@ -1276,8 +1253,8 @@ declaring a virtual name and version in the `${provides}` template variable (e.g
|
|||
specific provider can declare a dependency on the virtual package name with the prefix `virtual?`
|
||||
(e.g., `depends="virtual?vpkg-0.1_1"`). When a package is built by `xbps-src`, providers for any
|
||||
virtual packages will be confirmed to exist and will be built if necessary. A map from virtual
|
||||
packages to their default providers is defined in `etc/default.virtual`. Individual mappings can be
|
||||
overridden by local preferences in `etc/virtual`. Comments in `etc/default.virtual` provide more
|
||||
packages to their default providers is defined in `etc/defaults.virtual`. Individual mappings can be
|
||||
overridden by local preferences in `etc/virtual`. Comments in `etc/defaults.virtual` provide more
|
||||
information on this map.
|
||||
|
||||
<a id="install_remove_files"></a>
|
||||
|
@ -1406,6 +1383,14 @@ If the service requires directories in parts of the system that are not generall
|
|||
temporary filesystems. Then use the `make_dirs` variable in the template to create
|
||||
those directories when the package is installed.
|
||||
|
||||
If the package installs a systemd service file or other unit, leave it in place as a
|
||||
reference point so long as including it has no negative side effects.
|
||||
|
||||
Examples of when *not* to install systemd units:
|
||||
|
||||
1. When doing so changes runtime behavior of the packaged software.
|
||||
2. When it is done via a compile time flag that also changes build dependencies.
|
||||
|
||||
<a id="32bit_pkgs"></a>
|
||||
### 32bit packages
|
||||
|
||||
|
@ -1585,12 +1570,11 @@ recursively by the target python version. This differs from `pycompile_module` i
|
|||
path may be specified, Example: `pycompile_dirs="usr/share/foo"`.
|
||||
|
||||
- `python_version`: this variable expects the supported Python major version.
|
||||
By default it's set to `2`. This variable is needed for multi-language
|
||||
In most cases version is inferred from shebang, install path or build style.
|
||||
Only required for some multi-language
|
||||
applications (e.g., the application is written in C while the command is
|
||||
written in Python) or just single Python file ones that live in `/usr/bin`.
|
||||
|
||||
> NOTE: you need to define it *only* for non-Python modules.
|
||||
|
||||
Also, a set of useful variables are defined to use in the templates:
|
||||
|
||||
| Variable | Value |
|
||||
|
@ -1628,6 +1612,7 @@ The following template variables influence how Go packages are built:
|
|||
any go.mod files, `default` to use Go's default behavior, or anything
|
||||
accepted by `go build -mod MODE`. Defaults to `vendor` if there's
|
||||
a vendor directory, otherwise `default`.
|
||||
- `go_ldflags`: Arguments to pass to the linking steps of go tool.
|
||||
|
||||
The following environment variables influence how Go packages are built:
|
||||
|
||||
|
@ -1997,6 +1982,13 @@ During removal it will delete the directory using `rmdir`.
|
|||
To include this trigger use the `make_dirs` variable, as the trigger won't do anything
|
||||
unless it is defined.
|
||||
|
||||
<a id="triggers_openjdk_profile"></a>
|
||||
#### openjdk-profile
|
||||
|
||||
The openjdk-profile trigger is responsible for creating an entry in /etc/profile.d that
|
||||
sets the `JAVA_HOME` environment variable to the currently-selected alternative for
|
||||
`/usr/bin/java` on installation. This trigger must be manually requested.
|
||||
|
||||
<a id="triggers_pango_module"></a>
|
||||
#### pango-modules
|
||||
|
||||
|
|
|
@ -3,3 +3,4 @@ if [ "$CROSS_BUILD" ]; then
|
|||
else
|
||||
export WX_CONFIG=/usr/bin/wx-config-gtk3
|
||||
fi
|
||||
configure_args+=" -DwxWidgets_CONFIG_EXECUTABLE=${WX_CONFIG} "
|
||||
|
|
16
common/build-helper/python3.sh
Normal file
16
common/build-helper/python3.sh
Normal file
|
@ -0,0 +1,16 @@
|
|||
# fix building non-pure-python modules on cross
|
||||
if [ -n "$CROSS_BUILD" ]; then
|
||||
export PYPREFIX="$XBPS_CROSS_BASE"
|
||||
export CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
|
||||
export LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_lib} -L${XBPS_CROSS_BASE}/usr/lib"
|
||||
export CC="${XBPS_CROSS_TRIPLET}-gcc -pthread $CFLAGS $LDFLAGS"
|
||||
export LDSHARED="${CC} -shared $LDFLAGS"
|
||||
export PYTHON_CONFIG="${XBPS_CROSS_BASE}/usr/bin/python3-config"
|
||||
export PYTHONPATH="${XBPS_CROSS_BASE}/${py3_lib}"
|
||||
for f in ${XBPS_CROSS_BASE}/${py3_lib}/_sysconfigdata_*; do
|
||||
[ -f "$f" ] || continue
|
||||
f=${f##*/}
|
||||
_PYTHON_SYSCONFIGDATA_NAME=${f%.py}
|
||||
done
|
||||
[ -n "$_PYTHON_SYSCONFIGDATA_NAME" ] && export _PYTHON_SYSCONFIGDATA_NAME
|
||||
fi
|
|
@ -3,24 +3,24 @@
|
|||
#
|
||||
|
||||
do_build() {
|
||||
: ${make_cmd:=cargo}
|
||||
: ${make_cmd:=cargo auditable}
|
||||
|
||||
${make_cmd} build --release --target ${RUST_TARGET} ${configure_args}
|
||||
}
|
||||
|
||||
do_check() {
|
||||
: ${make_cmd:=cargo}
|
||||
: ${make_cmd:=cargo auditable}
|
||||
|
||||
${make_cmd} test --release --target ${RUST_TARGET} ${configure_args} \
|
||||
${make_check_pre} ${make_cmd} test --release --target ${RUST_TARGET} ${configure_args} \
|
||||
${make_check_args}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
: ${make_cmd:=cargo}
|
||||
: ${make_cmd:=cargo auditable}
|
||||
: ${make_install_args:=--path .}
|
||||
|
||||
${make_cmd} install --target ${RUST_TARGET} --root="${DESTDIR}/usr" \
|
||||
--locked ${configure_args} ${make_install_args}
|
||||
--offline --locked ${configure_args} ${make_install_args}
|
||||
|
||||
rm -f "${DESTDIR}"/usr/.crates.toml
|
||||
rm -f "${DESTDIR}"/usr/.crates2.json
|
||||
|
|
|
@ -54,6 +54,14 @@ _EOF
|
|||
cmake_args+=" -DCMAKE_INSTALL_PREFIX=/usr"
|
||||
cmake_args+=" -DCMAKE_BUILD_TYPE=None"
|
||||
cmake_args+=" -DCMAKE_INSTALL_LIBDIR=lib${XBPS_TARGET_WORDSIZE}"
|
||||
cmake_args+=" -DCMAKE_INSTALL_SYSCONFDIR=/etc"
|
||||
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
cmake_args+=" -DQT_HOST_PATH=/usr"
|
||||
# QT_HOST_PATH isn't enough in my system,
|
||||
# which have binfmts support on and off
|
||||
cmake_args+=" -DQT_HOST_PATH_CMAKE_DIR=/usr/lib/cmake"
|
||||
fi
|
||||
|
||||
if [[ $build_helper = *"qemu"* ]]; then
|
||||
echo "SET(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-${XBPS_TARGET_QEMU_MACHINE}-static)" \
|
||||
|
@ -116,7 +124,7 @@ do_check() {
|
|||
|
||||
: ${make_check_target:=test}
|
||||
|
||||
${make_cmd} ${make_check_args} ${make_check_target}
|
||||
${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
|
|
|
@ -29,7 +29,7 @@ do_check() {
|
|||
: ${make_cmd:=make}
|
||||
: ${make_check_target:=check}
|
||||
|
||||
${make_cmd} ${make_check_args} ${make_check_target}
|
||||
${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
|
|
|
@ -30,7 +30,7 @@ do_check() {
|
|||
: ${make_cmd:=make}
|
||||
: ${make_check_target:=check}
|
||||
|
||||
${make_cmd} ${make_check_args} ${make_check_target}
|
||||
${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
|
|
|
@ -9,8 +9,10 @@ do_build() {
|
|||
CC="$CC" CXX="$CXX" LD="$LD" AR="$AR" RANLIB="$RANLIB" \
|
||||
CPP="$CPP" AS="$AS" OBJCOPY="$OBJCOPY" OBJDUMP="$OBJDUMP" \
|
||||
CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" LDFLAGS="$LDFLAGS" \
|
||||
PREFIX=/usr prefix=/usr \
|
||||
${makejobs} ${make_build_args} ${make_build_target}
|
||||
else
|
||||
export PREFIX=/usr prefix=/usr
|
||||
${make_cmd} ${makejobs} ${make_build_args} ${make_build_target}
|
||||
fi
|
||||
}
|
||||
|
@ -30,12 +32,12 @@ do_check() {
|
|||
: ${make_cmd:=make}
|
||||
: ${make_check_target:=check}
|
||||
|
||||
${make_cmd} ${make_check_args} ${make_check_target}
|
||||
${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
: ${make_cmd:=make}
|
||||
: ${make_install_target:=install}
|
||||
|
||||
${make_cmd} STRIP=true PREFIX=/usr DESTDIR=${DESTDIR} ${make_install_args} ${make_install_target}
|
||||
${make_cmd} STRIP=true PREFIX=/usr prefix=/usr DESTDIR=${DESTDIR} ${make_install_args} ${make_install_target}
|
||||
}
|
||||
|
|
|
@ -22,6 +22,13 @@ do_configure() {
|
|||
}
|
||||
|
||||
do_build() {
|
||||
# remove -s and -w from go_ldflags, we should let xbps-src strip binaries itself
|
||||
for wd in $go_ldflags; do
|
||||
if [ "$wd" == "-s" ] || [ "$wd" == "-w" ]; then
|
||||
msg_error "$pkgname: remove -s and -w from go_ldflags\n"
|
||||
fi
|
||||
done
|
||||
|
||||
go_package=${go_package:-$go_import_path}
|
||||
# Build using Go modules if there's a go.mod file
|
||||
if [ "${go_mod_mode}" != "off" ] && [ -f go.mod ]; then
|
||||
|
|
|
@ -103,7 +103,7 @@ do_configure() {
|
|||
export AR="gcc-ar"
|
||||
|
||||
# unbuffered output for continuous logging
|
||||
PYTHONUNBUFFERED=1 ${meson_cmd} \
|
||||
PYTHONUNBUFFERED=1 ${meson_cmd} setup \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/lib${XBPS_TARGET_WORDSIZE} \
|
||||
--libexecdir=/usr/libexec \
|
||||
|
@ -138,7 +138,7 @@ do_check() {
|
|||
: ${make_check_target:=test}
|
||||
: ${meson_builddir:=build}
|
||||
|
||||
${make_cmd} -C ${meson_builddir} ${makejobs} ${make_check_args} ${make_check_target}
|
||||
${make_check_pre} ${make_cmd} -C ${meson_builddir} ${makejobs} ${make_check_args} ${make_check_target}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
|
|
|
@ -41,7 +41,7 @@ do_check() {
|
|||
if [ ! -x ./Build ]; then
|
||||
msg_error "$pkgver: cannot find ./Build script!\n"
|
||||
fi
|
||||
./Build test
|
||||
${make_check_pre} ./Build test
|
||||
}
|
||||
|
||||
do_install() {
|
||||
|
|
|
@ -79,7 +79,7 @@ do_check() {
|
|||
: ${make_cmd:=make}
|
||||
: ${make_check_target:=test}
|
||||
|
||||
${make_cmd} ${make_check_args} ${make_check_target}
|
||||
${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
|
|
|
@ -49,7 +49,7 @@ do_check() {
|
|||
fi
|
||||
fi
|
||||
|
||||
python${pyver} setup.py ${make_check_target:-test} ${make_check_args}
|
||||
${make_check_pre} python${pyver} setup.py ${make_check_target:-test} ${make_check_args}
|
||||
rm build
|
||||
done
|
||||
}
|
||||
|
|
|
@ -3,30 +3,18 @@
|
|||
#
|
||||
|
||||
do_build() {
|
||||
if [ -n "$CROSS_BUILD" ]; then
|
||||
PYPREFIX="$XBPS_CROSS_BASE"
|
||||
CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
|
||||
LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_lib} -L${XBPS_CROSS_BASE}/usr/lib"
|
||||
CC="${XBPS_CROSS_TRIPLET}-gcc -pthread $CFLAGS $LDFLAGS"
|
||||
LDSHARED="${CC} -shared $LDFLAGS"
|
||||
for f in ${XBPS_CROSS_BASE}/${py3_lib}/_sysconfigdata_*; do
|
||||
f=${f##*/}
|
||||
_PYTHON_SYSCONFIGDATA_NAME=${f%.py}
|
||||
done
|
||||
env CC="$CC" LDSHARED="$LDSHARED" \
|
||||
PYPREFIX="$PYPREFIX" CFLAGS="$CFLAGS" \
|
||||
PYTHONPATH=${XBPS_CROSS_BASE}/${py3_lib} \
|
||||
_PYTHON_SYSCONFIGDATA_NAME="$_PYTHON_SYSCONFIGDATA_NAME" \
|
||||
LDFLAGS="$LDFLAGS" python3 setup.py build ${make_build_args}
|
||||
else
|
||||
python3 setup.py build ${make_build_args}
|
||||
fi
|
||||
python3 setup.py build ${make_build_args}
|
||||
}
|
||||
|
||||
do_check() {
|
||||
local testjobs
|
||||
if python3 -c 'import pytest' >/dev/null 2>&1; then
|
||||
if python3 -c 'import xdist' >/dev/null 2>&1; then
|
||||
testjobs="-n $XBPS_MAKEJOBS"
|
||||
fi
|
||||
PYTHONPATH="$(cd build/lib* && pwd)" \
|
||||
python3 -m pytest ${make_check_args} ${make_check_target}
|
||||
${make_check_pre} \
|
||||
python3 -m pytest ${testjobs} ${make_check_args} ${make_check_target}
|
||||
else
|
||||
# Fall back to deprecated setup.py test orchestration without pytest
|
||||
if [ -z "$make_check_target" ]; then
|
||||
|
@ -37,28 +25,10 @@ do_check() {
|
|||
fi
|
||||
|
||||
: ${make_check_target:=test}
|
||||
python3 setup.py ${make_check_target} ${make_check_args}
|
||||
${make_check_pre} python3 setup.py ${make_check_target} ${make_check_args}
|
||||
fi
|
||||
}
|
||||
|
||||
do_install() {
|
||||
if [ -n "$CROSS_BUILD" ]; then
|
||||
PYPREFIX="$XBPS_CROSS_BASE"
|
||||
CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
|
||||
LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_lib} -L${XBPS_CROSS_BASE}/usr/lib"
|
||||
CC="${XBPS_CROSS_TRIPLET}-gcc -pthread $CFLAGS $LDFLAGS"
|
||||
LDSHARED="${CC} -shared $LDFLAGS"
|
||||
for f in ${XBPS_CROSS_BASE}/${py3_lib}/_sysconfigdata_*; do
|
||||
f=${f##*/}
|
||||
_PYTHON_SYSCONFIGDATA_NAME=${f%.py}
|
||||
done
|
||||
env CC="$CC" LDSHARED="$LDSHARED" \
|
||||
PYPREFIX="$PYPREFIX" CFLAGS="$CFLAGS" \
|
||||
PYTHONPATH=${XBPS_CROSS_BASE}/${py3_lib} \
|
||||
_PYTHON_SYSCONFIGDATA_NAME="$_PYTHON_SYSCONFIGDATA_NAME" \
|
||||
LDFLAGS="$LDFLAGS" python3 setup.py \
|
||||
install --prefix=/usr --root=${DESTDIR} ${make_install_args}
|
||||
else
|
||||
python3 setup.py install --prefix=/usr --root=${DESTDIR} ${make_install_args}
|
||||
fi
|
||||
python3 setup.py install --prefix=/usr --root=${DESTDIR} ${make_install_args}
|
||||
}
|
||||
|
|
|
@ -3,31 +3,31 @@
|
|||
#
|
||||
|
||||
do_build() {
|
||||
# No PEP517 build tool currently supports compiled extensions
|
||||
# Thus, there is no need to accommodate cross compilation here
|
||||
: ${make_build_target:=.}
|
||||
|
||||
mkdir -p build
|
||||
TMPDIR=build python3 -m pip wheel --no-deps --use-pep517 --no-clean \
|
||||
--no-build-isolation ${make_build_args} ${make_build_target}
|
||||
: ${make_build_args:=--no-isolation --wheel}
|
||||
python3 -m build ${make_build_args} ${make_build_target}
|
||||
}
|
||||
|
||||
do_check() {
|
||||
local testjobs
|
||||
if python3 -c 'import pytest' >/dev/null 2>&1; then
|
||||
python3 -m pytest ${make_check_args} ${make_check_target}
|
||||
if python3 -c 'import xdist' >/dev/null 2>&1; then
|
||||
testjobs="-n $XBPS_MAKEJOBS"
|
||||
fi
|
||||
${make_check_pre} python3 -m pytest ${testjobs} ${make_check_args} ${make_check_target}
|
||||
else
|
||||
msg_warn "Unable to determine tests for PEP517 Python templates"
|
||||
msg_warn "Unable to determine tests for PEP517 Python templates\n"
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
do_install() {
|
||||
# As with do_build, no need to accommodate cross compilation here
|
||||
: ${make_install_target:=${pkgname#python3-}-${version}-*-*-*.whl}
|
||||
if [ -z "${make_install_target}" ]; then
|
||||
# Default wheel name normalizes hyphens to underscores
|
||||
local wheelbase="${pkgname#python3-}"
|
||||
make_install_target="dist/${wheelbase//-/_}-${version}-*-*-*.whl"
|
||||
fi
|
||||
|
||||
# If do_build was overridden, make sure the TMPDIR exists
|
||||
mkdir -p build
|
||||
TMPDIR=build python3 -m pip install --use-pep517 --prefix /usr \
|
||||
--root ${DESTDIR} --no-deps --no-build-isolation \
|
||||
--no-clean ${make_install_args} ${make_install_target}
|
||||
python3 -m installer --destdir ${DESTDIR} \
|
||||
${make_install_args} ${make_install_target}
|
||||
}
|
||||
|
|
|
@ -1,17 +1,12 @@
|
|||
#
|
||||
# This helper is for templates using Qt4/Qt5 qmake.
|
||||
# This helper is for templates using Qt5/Qt6 qmake.
|
||||
#
|
||||
do_configure() {
|
||||
local qmake
|
||||
local qmake_args
|
||||
if [ -x "/usr/lib/qt5/bin/qmake" ]; then
|
||||
# Qt5 qmake
|
||||
qmake="/usr/lib/qt5/bin/qmake"
|
||||
fi
|
||||
if [ -x "/usr/lib/qt/bin/qmake" ]; then
|
||||
# Qt4 qmake
|
||||
qmake="/usr/lib/qt/bin/qmake"
|
||||
fi
|
||||
if [ -z "${qmake}" ]; then
|
||||
msg_error "${pkgver}: Could not find qmake - missing in hostmakedepends?\n"
|
||||
fi
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
|
||||
do_check() {
|
||||
RAKULIB=lib prove -r -e raku t/
|
||||
RAKULIB=lib ${make_check_pre} prove -r -e raku t/
|
||||
}
|
||||
|
||||
do_install() {
|
||||
|
|
|
@ -9,18 +9,27 @@ do_build() {
|
|||
CXXFLAGS="$CXXFLAGS" LINKFLAGS="$LDFLAGS" \
|
||||
cxxflags="$CXXFLAGS" linkflags="$LDFLAGS" \
|
||||
RANLIB="$RANLIB" ranlib="$RANLIB" \
|
||||
prefix=/usr destdir=${DESTDIR} DESTDIR=${DESTDIR} \
|
||||
prefix=/usr \
|
||||
${scons_use_destdir:+DESTDIR="${DESTDIR}"} \
|
||||
${scons_use_destdir:+destdir="${DESTDIR}"} \
|
||||
${make_build_args} ${make_build_target}
|
||||
}
|
||||
do_install() {
|
||||
: ${make_cmd:=scons}
|
||||
: ${make_install_target:=install}
|
||||
|
||||
local _sandbox=
|
||||
|
||||
if [ -z "$scons_use_destdir" ]; then _sandbox=yes ; fi
|
||||
|
||||
${make_cmd} ${makejobs} CC=$CC CXX=$CXX CCFLAGS="$CFLAGS" \
|
||||
cc=$CC cxx=$CXX ccflags="$CFLAGS" \
|
||||
CXXFLAGS="$CXXFLAGS" LINKFLAGS="$LDFLAGS" \
|
||||
cxxflags="$CXXFLAGS" linkflags="$LDFLAGS" \
|
||||
RANLIB="$RANLIB" ranlib="$RANLIB" \
|
||||
prefix=/usr destdir=${DESTDIR} DESTDIR=${DESTDIR} \
|
||||
prefix=/usr \
|
||||
${scons_use_destdir:+DESTDIR="${DESTDIR}"} \
|
||||
${scons_use_destdir:+destdir="${DESTDIR}"} \
|
||||
${_sandbox:+--install-sandbox="${DESTDIR}"} \
|
||||
${make_install_args} ${make_install_target}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
# required variables
|
||||
#
|
||||
# build_style=slashpackage
|
||||
# wrksrc=<category>
|
||||
# build_wrksrc=${pkgname}-${version}
|
||||
# distfiles=<download link>
|
||||
#
|
||||
|
@ -15,7 +14,6 @@
|
|||
# pkgname=daemontools
|
||||
# version=0.76
|
||||
# revision=1
|
||||
# wrksrc=admin
|
||||
# build_wrksrc=${pkgname}-${version}
|
||||
# build_style=slashpackage
|
||||
# short_desc="A collection of tools for managing UNIX services"
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
makedepends+=" R"
|
||||
depends+=" R"
|
||||
wrksrc="${XBPS_BUILDDIR}/${pkgname#R-cran-}"
|
||||
create_wrksrc=required
|
||||
build_wrksrc="${pkgname#R-cran-}"
|
||||
|
||||
# default to cran
|
||||
if [ -z "$distfiles" ]; then
|
||||
distfiles="https://cran.r-project.org/src/contrib/${pkgname#R-cran-}_${version//r/-}.tar.gz"
|
||||
distfiles="https://cran.r-project.org/src/contrib/${pkgname#R-cran-}_${version//r/-}.tar.gz
|
||||
https://cran.r-project.org/src/contrib/Archive/${pkgname#R-cran-}/${pkgname#R-cran-}_${version//r/-}.tar.gz"
|
||||
fi
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
hostmakedepends+=" cargo"
|
||||
|
||||
if ! [[ "$pkgname" =~ ^cargo-auditable(-bootstrap)?$ ]]; then
|
||||
hostmakedepends+=" cargo-auditable"
|
||||
fi
|
||||
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
makedepends+=" rust-std"
|
||||
fi
|
||||
|
|
|
@ -43,3 +43,8 @@ case "$XBPS_TARGET_MACHINE" in
|
|||
*-musl) export GOCACHE="${XBPS_HOSTDIR}/gocache-muslc" ;;
|
||||
*) export GOCACHE="${XBPS_HOSTDIR}/gocache-glibc" ;;
|
||||
esac
|
||||
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
# https://go.dev/cl/421935
|
||||
i686*) export CGO_CFLAGS="$CGO_CFLAGS -fno-stack-protector" ;;
|
||||
esac
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
lib32disabled=yes
|
||||
makedepends+=" python3"
|
||||
build_helper+=" python3"
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
hostmakedepends+=" python3-pip"
|
||||
hostmakedepends+=" python3-build python3-installer"
|
||||
lib32disabled=yes
|
||||
build_helper+=" python3"
|
||||
|
|
|
@ -2,4 +2,3 @@
|
|||
hostmakedepends+=" rsync"
|
||||
# python_version isn't needed for everything either
|
||||
python_version=3
|
||||
create_wrksrc=yes
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
lib32disabled=yes
|
||||
nopie=yes
|
||||
create_wrksrc=yes
|
||||
|
||||
nostrip_files+=" libcaf_single.a libgcc.a libgcov.a libgcc_eh.a
|
||||
libgnarl_pic.a libgnarl.a libgnat_pic.a libgnat.a libgmem.a"
|
||||
|
|
|
@ -1,2 +1,16 @@
|
|||
CFLAGS="${CFLAGS} -fdebug-prefix-map=$wrksrc=."
|
||||
CXXFLAGS="${CXXFLAGS} -fdebug-prefix-map=$wrksrc=."
|
||||
local _wrksrc="$wrksrc${build_wrksrc:+/$build_wrksrc}"
|
||||
case "$build_style" in
|
||||
cmake)
|
||||
CFLAGS="${CFLAGS} -fdebug-prefix-map=$_wrksrc/${cmake_builddir:-build}=."
|
||||
CXXFLAGS="${CXXFLAGS} -fdebug-prefix-map=$_wrksrc/${cmake_builddir:-build}=."
|
||||
;;
|
||||
meson)
|
||||
CFLAGS="${CFLAGS} -fdebug-prefix-map=$_wrksrc/${meson_builddir:-build}=."
|
||||
CXXFLAGS="${CXXFLAGS} -fdebug-prefix-map=$_wrksrc/${meson_builddir:-build}=."
|
||||
;;
|
||||
*)
|
||||
CFLAGS="${CFLAGS} -fdebug-prefix-map=$_wrksrc=."
|
||||
CXXFLAGS="${CXXFLAGS} -fdebug-prefix-map=$_wrksrc=."
|
||||
esac
|
||||
|
||||
unset _wrksrc
|
||||
|
|
|
@ -7,7 +7,7 @@ py2_lib="usr/lib/python${py2_ver}"
|
|||
py2_sitelib="${py2_lib}/site-packages"
|
||||
py2_inc="usr/include/python${py2_ver}"
|
||||
|
||||
py3_ver="3.10"
|
||||
py3_ver="3.11"
|
||||
py3_abiver=""
|
||||
py3_lib="usr/lib/python${py3_ver}"
|
||||
py3_sitelib="${py3_lib}/site-packages"
|
||||
|
|
|
@ -7,17 +7,24 @@ unset -v archs distfiles checksum build_style build_helper nocross broken
|
|||
unset -v configure_script configure_args wrksrc build_wrksrc create_wrksrc
|
||||
unset -v make_build_args make_check_args make_install_args
|
||||
unset -v make_build_target make_check_target make_install_target
|
||||
unset -v make_cmd meson_cmd gem_cmd fetch_cmd
|
||||
unset -v make_cmd meson_cmd gem_cmd fetch_cmd make_check_pre
|
||||
unset -v python_version stackage
|
||||
unset -v cmake_builddir meson_builddir
|
||||
unset -v meson_crossfile
|
||||
unset -v gemspec
|
||||
unset -v go_import_path go_package go_mod_mode
|
||||
unset -v patch_args disable_parallel_build keep_libtool_archives make_use_env
|
||||
unset -v patch_args disable_parallel_build disable_parallel_check
|
||||
unset -v keep_libtool_archives make_use_env
|
||||
unset -v reverts subpackages makedepends hostmakedepends checkdepends depends restricted
|
||||
unset -v nopie build_options build_options_default bootstrap repository reverts
|
||||
unset -v CFLAGS CXXFLAGS FFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH
|
||||
unset -v CC CXX CPP GCC LD AR AS RANLIB NM OBJDUMP OBJCOPY STRIP READELF PKG_CONFIG
|
||||
unset -v CMAKE_GENERATOR
|
||||
# build-helper python3
|
||||
unset -v PYPREFIX LDSHARED PYTHON_CONFIG PYTHONPATH _PYTHON_SYSCONFIGDATA_NAME
|
||||
|
||||
# unset all $build_option_ variables
|
||||
unset -v "${!build_option_@}"
|
||||
|
||||
# hooks/do-extract/00-distfiles
|
||||
unset -v skip_extraction
|
||||
|
|
|
@ -57,8 +57,13 @@ vsed() {
|
|||
newdigest="$($XBPS_DIGEST_CMD "$f")"
|
||||
newdigest="${newdigest%% *}"
|
||||
|
||||
msgfunc=msg_warn
|
||||
if [ -n "$XBPS_STRICT" ]; then
|
||||
msgfunc=msg_error
|
||||
fi
|
||||
|
||||
if [ "$olddigest" = "$newdigest" ]; then
|
||||
msg_warn "$pkgver: vsed: regex \"$rx\" didn't change file \"$f\"\n"
|
||||
$msgfunc "$pkgver: vsed: regex \"$rx\" didn't change file \"$f\"\n"
|
||||
fi
|
||||
olddigest="${newdigest}"
|
||||
done
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
hook() {
|
||||
local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
|
||||
local f j curfile found extractdir
|
||||
local f j curfile found extractdir innerdir num_dirs
|
||||
local TAR_CMD
|
||||
|
||||
if [ -z "$distfiles" -a -z "$checksum" ]; then
|
||||
|
@ -20,10 +20,6 @@ hook() {
|
|||
fi
|
||||
done
|
||||
|
||||
if [ -n "$create_wrksrc" ]; then
|
||||
mkdir -p "${wrksrc}" || msg_error "$pkgver: failed to create wrksrc.\n"
|
||||
fi
|
||||
|
||||
# Disable trap on ERR; the code is smart enough to report errors and abort.
|
||||
trap - ERR
|
||||
|
||||
|
@ -31,6 +27,9 @@ hook() {
|
|||
[ -z "$TAR_CMD" ] && TAR_CMD="$(command -v tar)"
|
||||
[ -z "$TAR_CMD" ] && msg_error "xbps-src: no suitable tar cmd (bsdtar, tar)\n"
|
||||
|
||||
extractdir=$(mktemp -d "$XBPS_BUILDDIR/.extractdir-XXXXXXX") ||
|
||||
msg_error "Cannot create temporary dir for do-extract\n"
|
||||
|
||||
msg_normal "$pkgver: extracting distfile(s), please wait...\n"
|
||||
|
||||
for f in ${distfiles}; do
|
||||
|
@ -73,12 +72,6 @@ hook() {
|
|||
*) msg_error "$pkgver: unknown distfile suffix for $curfile.\n";;
|
||||
esac
|
||||
|
||||
if [ -n "$create_wrksrc" ]; then
|
||||
extractdir="$wrksrc"
|
||||
else
|
||||
extractdir="$XBPS_BUILDDIR"
|
||||
fi
|
||||
|
||||
case ${cursufx} in
|
||||
tar|txz|tbz|tlz|tgz|crate)
|
||||
$TAR_CMD -x --no-same-permissions --no-same-owner -f $srcdir/$curfile -C "$extractdir"
|
||||
|
@ -128,11 +121,7 @@ hook() {
|
|||
fi
|
||||
;;
|
||||
txt)
|
||||
if [ "$create_wrksrc" ]; then
|
||||
cp -f $srcdir/$curfile "$extractdir"
|
||||
else
|
||||
msg_error "$pkgname: ${curfile##*.} files can only be extracted when create_wrksrc is set\n"
|
||||
fi
|
||||
cp -f $srcdir/$curfile "$extractdir"
|
||||
;;
|
||||
7z)
|
||||
if command -v 7z &>/dev/null; then
|
||||
|
@ -150,16 +139,10 @@ hook() {
|
|||
fi
|
||||
;;
|
||||
gem)
|
||||
case "$TAR_CMD" in
|
||||
*bsdtar)
|
||||
$TAR_CMD -xOf $srcdir/$curfile data.tar.gz | \
|
||||
$TAR_CMD -xz -C "$extractdir" -s ",^,${wrksrc##*/}/," -f -
|
||||
;;
|
||||
*)
|
||||
$TAR_CMD -xOf $srcdir/$curfile data.tar.gz | \
|
||||
$TAR_CMD -xz -C "$extractdir" --transform="s,^,${wrksrc##*/}/,"
|
||||
;;
|
||||
esac
|
||||
innerdir="$extractdir/${wrksrc##*/}"
|
||||
mkdir -p "$innerdir"
|
||||
$TAR_CMD -xOf $srcdir/$curfile data.tar.gz |
|
||||
$TAR_CMD -xz -C "$innerdir" -f -
|
||||
if [ $? -ne 0 ]; then
|
||||
msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
|
||||
fi
|
||||
|
@ -169,4 +152,31 @@ hook() {
|
|||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# find "$extractdir" -mindepth 1 -maxdepth 1 -printf '1\n' | wc -l
|
||||
# However, it requires GNU's find
|
||||
num_dirs=0
|
||||
for f in "$extractdir"/* "$extractdir"/.*; do
|
||||
if [ -e "$f" ] || [ -L "$f" ]; then
|
||||
case "$f" in
|
||||
*/. | */..) ;;
|
||||
*)
|
||||
innerdir="$f"
|
||||
num_dirs=$(( num_dirs + 1 ))
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
rm -rf "$wrksrc"
|
||||
if [ "$num_dirs" = 1 ] && [ -d "$innerdir" ] && [ -z "$create_wrksrc" ]; then
|
||||
# rename the subdirectory (top-level of distfiles) to $wrksrc
|
||||
mv "$innerdir" "$wrksrc" &&
|
||||
rmdir "$extractdir"
|
||||
elif [ "$num_dirs" -gt 1 ] || [ -n "$create_wrksrc" ]; then
|
||||
# rename the tmpdir to wrksrc
|
||||
mv "$extractdir" "$wrksrc"
|
||||
else
|
||||
mkdir -p "$wrksrc"
|
||||
fi ||
|
||||
msg_error "$pkgver: failed to move sources to $wrksrc\n"
|
||||
}
|
||||
|
|
|
@ -2,24 +2,6 @@
|
|||
# the $distfiles variable and then verifies its sha256 checksum comparing
|
||||
# its value with the one stored in the $checksum variable.
|
||||
|
||||
# Get the checksum for $curfile at index $dfcount
|
||||
get_cksum() {
|
||||
local curfile="$1" dfcount="$2" ckcount cksum i
|
||||
|
||||
ckcount=0
|
||||
cksum=0
|
||||
for i in ${checksum}; do
|
||||
if [ $dfcount -eq $ckcount -a -n "$i" ]; then
|
||||
cksum=$i
|
||||
fi
|
||||
ckcount=$((ckcount + 1))
|
||||
done
|
||||
if [ -z "$cksum" ]; then
|
||||
msg_error "$pkgver: cannot find checksum for $curfile.\n"
|
||||
fi
|
||||
echo "$cksum"
|
||||
}
|
||||
|
||||
# Return the checksum of the contents of a tarball
|
||||
contents_cksum() {
|
||||
local curfile="$1" cursufx cksum
|
||||
|
@ -110,9 +92,7 @@ contents_cksum() {
|
|||
|
||||
# Verify the checksum for $curfile stored at $distfile and index $dfcount
|
||||
verify_cksum() {
|
||||
local curfile="$1" distfile="$2" dfcount="$3" filesum cksum
|
||||
|
||||
cksum=$(get_cksum $curfile $dfcount)
|
||||
local curfile="$1" distfile="$2" cksum="$3" filesum
|
||||
|
||||
# If the checksum starts with an commercial at (@) it is the contents checksum
|
||||
if [ "${cksum:0:1}" = "@" ]; then
|
||||
|
@ -121,7 +101,7 @@ verify_cksum() {
|
|||
filesum=$(contents_cksum "$curfile")
|
||||
if [ "${cksum}" != "$filesum" ]; then
|
||||
echo
|
||||
msg_red "SHA256 mismatch for '$curfile:'\n@$filesum\n"
|
||||
msg_red "SHA256 mismatch for '${curfile}:'\n@${filesum}\n"
|
||||
errors=$((errors + 1))
|
||||
else
|
||||
msg_normal_append "OK.\n"
|
||||
|
@ -131,7 +111,7 @@ verify_cksum() {
|
|||
filesum=$(${XBPS_DIGEST_CMD} "$distfile")
|
||||
if [ "$cksum" != "$filesum" ]; then
|
||||
echo
|
||||
msg_red "SHA256 mismatch for '$curfile:'\n$filesum\n"
|
||||
msg_red "SHA256 mismatch for '${curfile}:'\n${filesum}\n"
|
||||
errors=$((errors + 1))
|
||||
else
|
||||
if [ ! -f "$XBPS_SRCDISTDIR/by_sha256/${cksum}_${curfile}" ]; then
|
||||
|
@ -145,22 +125,20 @@ verify_cksum() {
|
|||
|
||||
# Link an existing cksum $distfile for $curfile at index $dfcount
|
||||
link_cksum() {
|
||||
local curfile="$1" distfile="$2" dfcount="$3" filesum cksum
|
||||
|
||||
cksum=$(get_cksum $curfile $dfcount)
|
||||
|
||||
local curfile="$1" distfile="$2" cksum="$3"
|
||||
if [ -n "$cksum" -a -f "$XBPS_SRCDISTDIR/by_sha256/${cksum}_${curfile}" ]; then
|
||||
ln -f "$XBPS_SRCDISTDIR/by_sha256/${cksum}_${curfile}" "$distfile"
|
||||
msg_normal "$pkgver: using known distfile $curfile.\n"
|
||||
return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
try_mirrors() {
|
||||
local curfile="$1" distfile="$2" dfcount="$3" subdir="$4" f="$5"
|
||||
local filesum cksum basefile mirror path scheme
|
||||
[ -z "$XBPS_DISTFILES_MIRROR" ] && return
|
||||
local curfile="$1" distfile="$2" cksum="$3" f="$4"
|
||||
local filesum basefile mirror path scheme good
|
||||
[ -z "$XBPS_DISTFILES_MIRROR" ] && return 1
|
||||
basefile="${f##*/}"
|
||||
cksum=$(get_cksum $curfile $dfcount)
|
||||
for mirror in $XBPS_DISTFILES_MIRROR; do
|
||||
scheme="file"
|
||||
if [[ $mirror == *://* ]]; then
|
||||
|
@ -179,28 +157,80 @@ try_mirrors() {
|
|||
fi
|
||||
if [[ "$mirror" == *voidlinux* ]]; then
|
||||
# For distfiles.voidlinux.* append the subdirectory
|
||||
mirror="$mirror/$subdir"
|
||||
mirror="$mirror/$pkgname-$version"
|
||||
fi
|
||||
msg_normal "$pkgver: fetching distfile '$curfile' from '$mirror'...\n"
|
||||
msg_normal "$pkgver: fetching distfile '$curfile' from mirror '$mirror'...\n"
|
||||
$fetch_cmd "$mirror/$curfile"
|
||||
# If basefile was not found, but a curfile file may exist, try to fetch it
|
||||
if [ ! -f "$distfile" -a "$basefile" != "$curfile" ]; then
|
||||
$fetch_cmd "$mirror/$basefile"
|
||||
fi
|
||||
# if [ ! -f "$distfile" -a "$basefile" != "$curfile" ]; then
|
||||
# msg_normal "$pkgver: fetching distfile '$basefile' from mirror '$mirror'...\n"
|
||||
# $fetch_cmd "$mirror/$basefile"
|
||||
# fi
|
||||
[ ! -f "$distfile" ] && continue
|
||||
flock -n ${distfile}.part rm -f ${distfile}.part
|
||||
filesum=$(${XBPS_DIGEST_CMD} "$distfile")
|
||||
[ "$cksum" == "$filesum" ] && break
|
||||
if [ "$cksum" == "$filesum" ]; then
|
||||
return 0
|
||||
fi
|
||||
msg_normal "$pkgver: checksum failed - removing '$curfile'...\n"
|
||||
rm -f ${distfile}
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
try_urls() {
|
||||
local curfile="$1"
|
||||
local good=
|
||||
for i in ${_file_idxs["$curfile"]}; do
|
||||
local cksum=${_checksums["$i"]}
|
||||
local url=${_distfiles["$i"]}
|
||||
|
||||
# If distfile does not exist, download it from the original location.
|
||||
if [[ "$FTP_RETRIES" && "${url}" =~ ^ftp:// ]]; then
|
||||
max_retries="$FTP_RETRIES"
|
||||
else
|
||||
max_retries=1
|
||||
fi
|
||||
for retry in $(seq 1 1 $max_retries); do
|
||||
if [ ! -f "$distfile" ]; then
|
||||
if [ "$retry" == 1 ]; then
|
||||
msg_normal "$pkgver: fetching distfile '$curfile' from '$url'...\n"
|
||||
else
|
||||
msg_normal "$pkgver: fetch attempt $retry of $max_retries...\n"
|
||||
fi
|
||||
flock "${distfile}.part" $fetch_cmd "$url"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ! -f "$distfile" ]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# distfile downloaded, verify sha256 hash.
|
||||
flock -n "${distfile}.part" rm -f "${distfile}.part"
|
||||
verify_cksum "$curfile" "$distfile" "$cksum"
|
||||
return 0
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
hook() {
|
||||
local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
|
||||
local dfcount=0 dfgood=0 errors=0 max_retries
|
||||
|
||||
if [ ! -d "$srcdir" ]; then
|
||||
local -a _distfiles=($distfiles)
|
||||
local -a _checksums=($checksum)
|
||||
local -A _file_idxs
|
||||
|
||||
# Create a map from target file to index in _distfiles/_checksums
|
||||
for i in ${!_distfiles[@]}; do
|
||||
f="${_distfiles[$i]}"
|
||||
curfile="${f#*>}"
|
||||
curfile="${curfile##*/}"
|
||||
_file_idxs["$curfile"]+=" $i"
|
||||
done
|
||||
|
||||
if [[ ! -d "$srcdir" ]]; then
|
||||
mkdir -p -m775 "$srcdir"
|
||||
chgrp $(id -g) "$srcdir"
|
||||
fi
|
||||
|
@ -209,90 +239,72 @@ hook() {
|
|||
|
||||
# Disable trap on ERR; the code is smart enough to report errors and abort.
|
||||
trap - ERR
|
||||
|
||||
# Detect bsdtar and GNU tar (in that order of preference)
|
||||
TAR_CMD="$(command -v bsdtar)"
|
||||
if [ -z "$TAR_CMD" ]; then
|
||||
if [[ -z "$TAR_CMD" ]]; then
|
||||
TAR_CMD="$(command -v tar)"
|
||||
fi
|
||||
|
||||
# Detect distfiles with obsolete checksum and purge them from the cache
|
||||
for f in ${distfiles}; do
|
||||
curfile="${f#*>}"
|
||||
curfile="${curfile##*/}"
|
||||
distfile="$srcdir/$curfile"
|
||||
|
||||
if [ -f "$distfile" ]; then
|
||||
cksum=$(get_cksum $curfile $dfcount)
|
||||
if [ "${cksum:0:1}" = "@" ]; then
|
||||
cksum=${cksum:1}
|
||||
filesum=$(contents_cksum "$distfile")
|
||||
else
|
||||
filesum=$(${XBPS_DIGEST_CMD} "$distfile")
|
||||
for f in ${!_file_idxs[@]}; do
|
||||
distfile="$srcdir/$f"
|
||||
for i in ${_file_idxs["$f"]}; do
|
||||
if [[ -f $distfile ]]; then
|
||||
cksum=${_checksums["$i"]}
|
||||
if [[ ${cksum:0:1} = @ ]]; then
|
||||
cksum=${cksum:1}
|
||||
filesum=$(contents_cksum "$distfile")
|
||||
else
|
||||
filesum=$(${XBPS_DIGEST_CMD} "$distfile")
|
||||
fi
|
||||
if [[ $cksum = $filesum ]]; then
|
||||
dfgood=$((dfgood + 1))
|
||||
else
|
||||
inode=$(stat "$distfile" --printf "%i")
|
||||
msg_warn "$pkgver: wrong checksum found for ${curfile} - purging\n"
|
||||
find ${XBPS_SRCDISTDIR} -inum ${inode} -delete -print
|
||||
fi
|
||||
fi
|
||||
if [ "$cksum" = "$filesum" ]; then
|
||||
dfgood=$((dfgood + 1))
|
||||
else
|
||||
inode=$(stat "$distfile" --printf "%i")
|
||||
msg_warn "$pkgver: wrong checksum found for ${curfile} - purging\n"
|
||||
find ${XBPS_SRCDISTDIR} -inum ${inode} -delete -print
|
||||
fi
|
||||
fi
|
||||
dfcount=$((dfcount + 1))
|
||||
dfcount=$((dfcount + 1))
|
||||
done
|
||||
done
|
||||
|
||||
# We're done, if all distfiles were found and had good checksums
|
||||
[ $dfcount -eq $dfgood ] && return
|
||||
[[ $dfcount -eq $dfgood ]] && return
|
||||
|
||||
# Download missing distfiles and verify their checksums
|
||||
dfcount=0
|
||||
for f in ${distfiles}; do
|
||||
curfile="${f#*>}"
|
||||
curfile="${curfile##*/}"
|
||||
for curfile in ${!_file_idxs[@]}; do
|
||||
distfile="$srcdir/$curfile"
|
||||
set -- ${_file_idxs["$curfile"]}
|
||||
i="$1"
|
||||
|
||||
# If file lock cannot be acquired wait until it's available.
|
||||
while true; do
|
||||
flock -w 1 ${distfile}.part true
|
||||
[ $? -eq 0 ] && break
|
||||
while ! flock -w 1 "${distfile}.part" true; do
|
||||
msg_warn "$pkgver: ${curfile} is already being downloaded, waiting for 1s ...\n"
|
||||
done
|
||||
|
||||
if [[ -f "$distfile" ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# If distfile does not exist, try to link to it.
|
||||
if [ ! -f "$distfile" ]; then
|
||||
link_cksum $curfile $distfile $dfcount
|
||||
if link_cksum "$curfile" "$distfile" "${_checksums[$i]}"; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# If distfile does not exist, download it from a mirror location.
|
||||
if [ ! -f "$distfile" ]; then
|
||||
try_mirrors $curfile $distfile $dfcount $pkgname-$version $f
|
||||
if try_mirrors "$curfile" "$distfile" "${_checksums[$i]}" "${_distfiles[$i]}"; then
|
||||
continue
|
||||
fi
|
||||
# If distfile does not exist, download it from the original location.
|
||||
if [[ "$FTP_RETRIES" && "${f}" =~ ^ftp:// ]]; then
|
||||
max_retries="$FTP_RETRIES"
|
||||
else
|
||||
max_retries=1
|
||||
|
||||
if ! try_urls "$curfile"; then
|
||||
msg_error "$pkgver: failed to fetch '$curfile'.\n"
|
||||
fi
|
||||
for retry in $(seq 1 1 $max_retries); do
|
||||
if [ ! -f "$distfile" ]; then
|
||||
if [ "$retry" == 1 ]; then
|
||||
msg_normal "$pkgver: fetching distfile '$curfile'...\n"
|
||||
else
|
||||
msg_normal "$pkgver: fetch attempt $retry of $max_retries...\n"
|
||||
fi
|
||||
flock "${distfile}.part" $fetch_cmd "$f"
|
||||
fi
|
||||
done
|
||||
if [ ! -f "$distfile" ]; then
|
||||
msg_error "$pkgver: failed to fetch $curfile.\n"
|
||||
fi
|
||||
# distfile downloaded, verify sha256 hash.
|
||||
flock -n ${distfile}.part rm -f ${distfile}.part
|
||||
verify_cksum $curfile $distfile $dfcount
|
||||
dfcount=$((dfcount + 1))
|
||||
done
|
||||
|
||||
unset TAR_CMD
|
||||
|
||||
if [ $errors -gt 0 ]; then
|
||||
if [[ $errors -gt 0 ]]; then
|
||||
msg_error "$pkgver: couldn't verify distfiles, exiting...\n"
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -6,23 +6,23 @@ _process_patch() {
|
|||
_args="-Np1"
|
||||
_patch=${i##*/}
|
||||
|
||||
if [ -f $PATCHESDIR/${_patch}.args ]; then
|
||||
_args=$(<$PATCHESDIR/${_patch}.args)
|
||||
if [ -f "$PATCHESDIR/${_patch}.args" ]; then
|
||||
_args=$(<"$PATCHESDIR/${_patch}.args")
|
||||
elif [ -n "$patch_args" ]; then
|
||||
_args=$patch_args
|
||||
fi
|
||||
cp -f $i "$wrksrc"
|
||||
cp -f "$i" "$wrksrc"
|
||||
|
||||
# Try to guess if its a compressed patch.
|
||||
if [[ $f =~ .gz$ ]]; then
|
||||
if [[ $i =~ .gz$ ]]; then
|
||||
gunzip "$wrksrc/${_patch}"
|
||||
_patch=${_patch%%.gz}
|
||||
elif [[ $f =~ .bz2$ ]]; then
|
||||
elif [[ $i =~ .bz2$ ]]; then
|
||||
bunzip2 "$wrksrc/${_patch}"
|
||||
_patch=${_patch%%.bz2}
|
||||
elif [[ $f =~ .diff$ ]]; then
|
||||
elif [[ $i =~ .diff$ ]]; then
|
||||
:
|
||||
elif [[ $f =~ .patch$ ]]; then
|
||||
elif [[ $i =~ .patch$ ]]; then
|
||||
:
|
||||
else
|
||||
msg_warn "$pkgver: unknown patch type: $i.\n"
|
||||
|
@ -31,7 +31,7 @@ _process_patch() {
|
|||
|
||||
cd "$wrksrc"
|
||||
msg_normal "$pkgver: patching: ${_patch}.\n"
|
||||
patch -s ${_args} -i ${_patch} 2>/dev/null
|
||||
patch -s ${_args} <"${_patch}" 2>/dev/null
|
||||
}
|
||||
|
||||
hook() {
|
||||
|
@ -44,11 +44,11 @@ hook() {
|
|||
done < $PATCHESDIR/series
|
||||
else
|
||||
for f in $PATCHESDIR/*; do
|
||||
[ ! -f $f ] && continue
|
||||
[ ! -f "$f" ] && continue
|
||||
if [[ $f =~ ^.*.args$ ]]; then
|
||||
continue
|
||||
fi
|
||||
_process_patch $f
|
||||
_process_patch "$f"
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -24,8 +24,7 @@ hook() {
|
|||
|
||||
# Find all binaries in /usr/share and add them to the pool
|
||||
while read -r f; do
|
||||
mime="${f##*:}"
|
||||
mime="${mime// /}"
|
||||
mime="${f##*: }"
|
||||
file="${f%:*}"
|
||||
file="${file#${PKGDESTDIR}}"
|
||||
case "${mime}" in
|
||||
|
@ -37,7 +36,7 @@ hook() {
|
|||
fi
|
||||
;;
|
||||
esac
|
||||
done < <(find $PKGDESTDIR/usr/share $prune_expr -type f | file --mime-type --files-from -)
|
||||
done < <(find $PKGDESTDIR/usr/share $prune_expr -type f | file --no-pad --mime-type --files-from -)
|
||||
|
||||
# Check passed if no packages in pool
|
||||
if [ -z "$matches" ]; then
|
||||
|
|
|
@ -236,7 +236,7 @@ hook() {
|
|||
generic_wrapper3 libetpan-config
|
||||
generic_wrapper3 giblib-config
|
||||
python_wrapper python-config 2.7
|
||||
python_wrapper python3-config 3.10
|
||||
python_wrapper python3-config 3.11
|
||||
apr_apu_wrapper apr-1-config
|
||||
apr_apu_wrapper apu-1-config
|
||||
}
|
||||
|
|
|
@ -34,15 +34,14 @@ add_rundep() {
|
|||
|
||||
store_pkgdestdir_rundeps() {
|
||||
if [ -n "$run_depends" ]; then
|
||||
: > ${PKGDESTDIR}/rdeps
|
||||
for f in ${run_depends}; do
|
||||
_curdep="$(echo "$f" | sed -e 's,\(.*\)?.*,\1,')"
|
||||
if [ -z "$($XBPS_UHELPER_CMD getpkgdepname ${_curdep} 2>/dev/null)" -a \
|
||||
-z "$($XBPS_UHELPER_CMD getpkgname ${_curdep} 2>/dev/null)" ]; then
|
||||
_curdep="${_curdep}>=0"
|
||||
fi
|
||||
printf -- "${_curdep} " >> ${PKGDESTDIR}/rdeps
|
||||
done
|
||||
printf -- "${_curdep}\n"
|
||||
done | sort | xargs > ${PKGDESTDIR}/rdeps
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -166,6 +165,6 @@ hook() {
|
|||
sorequires+="${f} "
|
||||
done
|
||||
if [ -n "${sorequires}" ]; then
|
||||
echo "${sorequires}" > ${PKGDESTDIR}/shlib-requires
|
||||
echo "${sorequires}" | xargs -n1 | sort | xargs > ${PKGDESTDIR}/shlib-requires
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ hook() {
|
|||
fi
|
||||
done
|
||||
|
||||
for f in var/run usr/local; do
|
||||
for f in var/run usr/local usr/etc; do
|
||||
if [ -d ${PKGDESTDIR}/${f} ]; then
|
||||
msg_red "${pkgver}: /${f} directory is not allowed, remove it!\n"
|
||||
error=1
|
||||
|
@ -103,11 +103,21 @@ hook() {
|
|||
error=1
|
||||
fi
|
||||
|
||||
if [ -d ${PKGDESTDIR}/usr/usr ]; then
|
||||
msg_red "${pkgver}: /usr/usr is forbidden, use /usr.\n"
|
||||
error=1
|
||||
fi
|
||||
|
||||
if [ -d ${PKGDESTDIR}/usr/man ]; then
|
||||
msg_red "${pkgver}: /usr/man is forbidden, use /usr/share/man.\n"
|
||||
error=1
|
||||
fi
|
||||
|
||||
if [[ -d ${PKGDESTDIR}/usr/share/man/man ]]; then
|
||||
msg_red "${pkgver}: /usr/share/man/man is forbidden, use /usr/share/man.\n"
|
||||
error=1
|
||||
fi
|
||||
|
||||
if [ -d ${PKGDESTDIR}/usr/doc ]; then
|
||||
msg_red "${pkgver}: /usr/doc is forbidden. Use /usr/share/doc.\n"
|
||||
error=1
|
||||
|
@ -182,7 +192,7 @@ hook() {
|
|||
if [ -z "$found" ]; then
|
||||
_myshlib="${libname}.so"
|
||||
[ "${_myshlib}" != "${rev}" ] && _myshlib+=".${rev}"
|
||||
msg_warn "${pkgver}: ${_myshlib} not found in common/shlibs!\n"
|
||||
msg_normal "${pkgver}: ${_myshlib} not found in common/shlibs.\n"
|
||||
fi;
|
||||
}
|
||||
done
|
||||
|
|
|
@ -5,18 +5,17 @@ die() {
|
|||
exit 1
|
||||
}
|
||||
|
||||
GIT_CMD=$(command -v chroot-git 2>/dev/null) ||
|
||||
GIT_CMD=$(command -v git 2>/dev/null) ||
|
||||
command -v git >/dev/null 2>&1 ||
|
||||
die "neither chroot-git nor git could be found!"
|
||||
|
||||
rev_parse() {
|
||||
if [ -n "$1" ]; then
|
||||
"$GIT_CMD" rev-parse --verify "$1"
|
||||
git rev-parse --verify "$1"
|
||||
else
|
||||
shift
|
||||
while test "$#" != 0
|
||||
do
|
||||
"$GIT_CMD" rev-parse --verify "$1" 2>/dev/null && return
|
||||
git rev-parse --verify "$1" 2>/dev/null && return
|
||||
shift
|
||||
done
|
||||
return 1
|
||||
|
@ -27,26 +26,26 @@ base=$(rev_parse "$1" FETCH_HEAD ORIG_HEAD) || die "base commit not found"
|
|||
tip=$(rev_parse "$2" HEAD) || die "tip commit not found"
|
||||
status=0
|
||||
|
||||
for cmt in $("$GIT_CMD" rev-list --abbrev-commit $base..$tip)
|
||||
for cmt in $(git rev-list --abbrev-commit $base..$tip)
|
||||
do
|
||||
"$GIT_CMD" cat-file commit "$cmt" |
|
||||
git cat-file commit "$cmt" |
|
||||
awk -vC="$cmt" '
|
||||
# skip header
|
||||
/^$/ && !msg { msg = 1; next }
|
||||
!msg { next }
|
||||
# 3: long-line-is-banned-except-footnote-like-this-for-url
|
||||
(NF > 2) && (length > 80) { print C ": long line: " $0; exit 1 }
|
||||
(NF > 2) && (length > 80) { print "::error title=Commit Lint::" C ": long line: " $0; exit 1 }
|
||||
!subject {
|
||||
if (length > 50) { print C ": subject is a bit long" }
|
||||
if (!($0 ~ ":" || $0 ~ "^Take over maintainership " || $0 ~ "^Orphan ")) { print C ": subject does not follow CONTRIBUTING.md guildelines"; exit 1 }
|
||||
if (length > 50) { print "::warning title=Commit Lint::" C ": subject is a bit long" }
|
||||
if (!($0 ~ ":" || $0 ~ "^Take over maintainership " || $0 ~ "^Orphan ")) { print "::error title=Commit Lint::" C ": subject does not follow CONTRIBUTING.md guildelines"; exit 1 }
|
||||
# Below check is too noisy?
|
||||
# if (!($0 ~ "^New package:" || $0 ~ ".*: update to")) {
|
||||
# print C ": not new package/update/removal?"
|
||||
# print "::warning title=Commit Lint::" C ": not new package/update/removal?"
|
||||
# }
|
||||
subject = 1; next
|
||||
}
|
||||
/^$/ { body = 1; next }
|
||||
!body { print C ": second line must be blank"; exit 1 }
|
||||
!body { print "::error title=Commit Lint::" C ": second line must be blank"; exit 1 }
|
||||
' || status=1
|
||||
done
|
||||
exit $status
|
||||
|
|
198
common/scripts/lint-conflicts
Executable file
198
common/scripts/lint-conflicts
Executable file
|
@ -0,0 +1,198 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Report packages installing same file and not marked with
|
||||
# conflicts or replaces.
|
||||
# Without argument, find conflicts between packages in local
|
||||
# repository at hostdir/binpkgs and packages indexed in xlocate.
|
||||
# With single path as argument, read that local repository.
|
||||
# With -a flag, find conflicts between packages indexed in xlocate.
|
||||
|
||||
if [ "$#" = 0 ]; then
|
||||
binpkgs="$PWD/hostdir/binpkgs"
|
||||
elif [ "$1" = -a ]; then
|
||||
all=1
|
||||
elif [ -d "$1" ]; then
|
||||
binpkgs="$1"
|
||||
else
|
||||
echo "Usage:"
|
||||
echo "$0"
|
||||
echo " check packages in ./hostdir/binpkgs"
|
||||
echo "$0 path/to/hostdir/binpkgs"
|
||||
echo " check packages there"
|
||||
echo "$0 -a"
|
||||
echo " check all packages indexed in xlocate"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
declare -A newly_built conflicts_cache providers_cache pairs owners
|
||||
repositories=("--repository=${binpkgs}" "--repository=${binpkgs}/nonfree")
|
||||
rv=0
|
||||
|
||||
template_exists() {
|
||||
[ -f "srcpkgs/$1/template" ]
|
||||
}
|
||||
|
||||
partial_check() {
|
||||
[ -z "$all" ]
|
||||
}
|
||||
|
||||
providers_of() {
|
||||
# print the pkgname and packages that `provides` it
|
||||
local pkgname=$1
|
||||
if [ "${providers_cache[$pkgname]}" = '' ]; then
|
||||
local line provider_pkgver provided_pkgver provider_pkgname provided_pkgname
|
||||
local -A providers
|
||||
providers[$pkgname]=$pkgname
|
||||
while read -r line; do
|
||||
line=${line%%'('*}
|
||||
provider_pkgver=${line%': '*}
|
||||
provided_pkgver=${line#*': '}
|
||||
provider_pkgname=${provider_pkgver%-*}
|
||||
provided_pkgname=${provided_pkgver%-*}
|
||||
# comes from $(xbps-query -s $pkgname), so $pkgname can be substring
|
||||
if [ "$provided_pkgname" = "$pkgname" ]; then
|
||||
providers[$provider_pkgname]=$provider_pkgname
|
||||
fi
|
||||
done < <(xbps-query "${repositories[@]}" -p provides -R -s "$pkgname")
|
||||
# leading space ensures ${[]} != ''
|
||||
providers_cache[$pkgname]=" ${providers[*]}"
|
||||
fi
|
||||
echo ${providers_cache[$pkgname]}
|
||||
}
|
||||
|
||||
conflicts_of() {
|
||||
# print list of packages that are _marked_ as conflicting with given one
|
||||
local pkgname=$1
|
||||
if [ "${conflicts_cache[$pkgname]}" = '' ]; then
|
||||
local in_conflict provider
|
||||
local -A all
|
||||
while read -r in_conflict; do
|
||||
in_conflict=${in_conflict%'<'*}
|
||||
in_conflict=${in_conflict%'>'*}
|
||||
providers_of "$in_conflict" > /dev/null # executing in same process to fill cache
|
||||
for provider in $(providers_of "$in_conflict"); do
|
||||
all[$provider]=$provider
|
||||
done
|
||||
done < <(xbps-query "${repositories[@]}" -p conflicts,replaces -R "$pkgname")
|
||||
# leading space ensures ${[]} != ''
|
||||
conflicts_cache[$pkgname]=" ${all[*]}"
|
||||
fi
|
||||
echo ${conflicts_cache[$pkgname]}
|
||||
}
|
||||
|
||||
conflict_between() {
|
||||
# exit successfully if packages are _marked_ as conflicting
|
||||
conflicts_of "$1" > /dev/null # executing in same process to fill cache
|
||||
case " $(conflicts_of "$1") " in
|
||||
*" $2 "*) return 0
|
||||
esac
|
||||
conflicts_of "$2" > /dev/null # executing in same process to fill cache
|
||||
case " $(conflicts_of "$2") " in
|
||||
*" $1 "*) return 0
|
||||
esac
|
||||
return 1
|
||||
}
|
||||
|
||||
list_newly_built_files() {
|
||||
# print one line per file in newly built packages
|
||||
# each line contains pkgname and file path
|
||||
local pkgver pkgname
|
||||
while read -r pkgver; do
|
||||
pkgname=${pkgver%-*}
|
||||
xbps-query "${repositories[@]}" -i -f "$pkgname" | sed s'/ -> .*//;'" s/^/$pkgname /"
|
||||
done < <(xbps-query "${repositories[@]}" -i -R -s '' | cut -d' ' -f 2)
|
||||
}
|
||||
|
||||
list_interesting_files() {
|
||||
# list files potentially contained in more than one package
|
||||
# each line contains pkgver/pkgname and file path
|
||||
if partial_check; then
|
||||
list_newly_built_files
|
||||
else
|
||||
xlocate / | sed s'/ -> .*//' | grep -F -f <(xlocate / | cut -f 2- | sed s'/ -> .*//' | sort | uniq -d)
|
||||
fi
|
||||
}
|
||||
|
||||
group_by_file_full() {
|
||||
# create associative array `owners` mapping file to list of packages
|
||||
# for packages potentially conflicting with newly built ones
|
||||
local pkgver file pkgname
|
||||
while read -r pkgver file; do
|
||||
pkgname=${pkgver%-*}
|
||||
if template_exists "$pkgname"; then
|
||||
owners[$file]+=" $pkgname"
|
||||
fi
|
||||
done < <(list_interesting_files)
|
||||
}
|
||||
|
||||
group_by_file_partial() {
|
||||
# create associative array `owners` mapping file to list of packages
|
||||
# for all packages in xlocate
|
||||
local pkgname file
|
||||
## newly built packages
|
||||
while read -r pkgver; do
|
||||
pkgname=${pkgver%-*}
|
||||
newly_built[$pkgname]=$pkgname
|
||||
done < <(xbps-query "${repositories[@]}" -i -R -s '' | cut -d' ' -f 2)
|
||||
while read -r pkgname file; do
|
||||
owners[$file]+=" $pkgname"
|
||||
done < <(list_newly_built_files)
|
||||
## rest of repository
|
||||
while read -r pkgver file; do
|
||||
pkgname=${pkgver%-*}
|
||||
if [ -z "${newly_built[$pkgname]}" ] && template_exists "$pkgname"; then
|
||||
owners[$file]+=" $pkgname"
|
||||
fi
|
||||
done < <(xlocate / | sed s'/ -> .*//' | grep -F -f <(list_newly_built_files | cut -d ' ' -f 2-))
|
||||
}
|
||||
|
||||
group_by_pair() {
|
||||
# find package pairs owning same file and not marked as conflicting
|
||||
local pkg file a b
|
||||
while read -r pkg file; do
|
||||
for a in ${owners[$file]}; do
|
||||
for b in ${owners[$file]}; do
|
||||
if ! [ "$a" "<" "$b" ]; then
|
||||
continue
|
||||
fi
|
||||
if partial_check && [ -z "${newly_built[$a]}" ] && [ -z "${newly_built[$b]}" ]; then
|
||||
continue
|
||||
fi
|
||||
if ! conflict_between "$a" "$b"; then
|
||||
unset pair_files
|
||||
local -A pair_files
|
||||
eval "${pairs["$a $b"]}"
|
||||
pair_files[$file]="$file"
|
||||
pairs["$a $b"]="${pair_files[@]@A}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
done < <(list_interesting_files)
|
||||
}
|
||||
|
||||
print_out() {
|
||||
local pair file
|
||||
if [ "${#pairs[@]}" = 0 ]; then
|
||||
echo 1>&2 "No conflicts found in" "${repositories[@]#*=}"
|
||||
exit 0
|
||||
fi
|
||||
while read -r pair; do
|
||||
rv=1
|
||||
echo "${pair% *} and ${pair#* } conflict for"
|
||||
unset pair_files
|
||||
eval "${pairs[$pair]}"
|
||||
for file in "${pair_files[@]}"; do
|
||||
echo " $file"
|
||||
done | sort
|
||||
done < <(printf '%s\n' "${!pairs[@]}" | sort)
|
||||
}
|
||||
|
||||
if partial_check; then
|
||||
group_by_file_partial
|
||||
else
|
||||
group_by_file_full
|
||||
fi
|
||||
group_by_pair
|
||||
print_out
|
||||
|
||||
exit $rv
|
|
@ -13,20 +13,17 @@ if ! [ "$base_rev" ]; then
|
|||
die "usage: $0 TEMPLATE BASE-REVISION [TIP-REVISION]"
|
||||
fi
|
||||
|
||||
if command -v chroot-git >/dev/null 2>&1; then
|
||||
GIT_CMD=$(command -v chroot-git)
|
||||
elif command -v git >/dev/null 2>&1; then
|
||||
GIT_CMD=$(command -v git)
|
||||
else
|
||||
if ! command -v git >/dev/null 2>&1; then
|
||||
die "neither chroot-git nor git could be found"
|
||||
fi
|
||||
|
||||
scan() {
|
||||
rx="$1" msg="$2"
|
||||
template_path=$template
|
||||
maybe_git=
|
||||
if [ "$tip_rev" ]; then
|
||||
template_path="${tip_rev}:${template}"
|
||||
maybe_git="$GIT_CMD"
|
||||
maybe_git="git"
|
||||
revspec="[^:]*:"
|
||||
fi
|
||||
$maybe_git grep -P -Hn -e "$rx" "$template_path" |
|
||||
|
@ -37,7 +34,7 @@ scan() {
|
|||
show_template() {
|
||||
rev="$1"
|
||||
if [ "$rev" ]; then
|
||||
$GIT_CMD cat-file blob "${rev}:${template}" 2>/dev/null
|
||||
git cat-file blob "${rev}:${template}" 2>/dev/null
|
||||
else
|
||||
cat "${template}" 2>/dev/null
|
||||
fi
|
||||
|
@ -45,7 +42,10 @@ show_template() {
|
|||
|
||||
show_template_var() {
|
||||
rev="$1" var="$2"
|
||||
show_template "$rev" | grep -Po '^'${var}'=\K.*'
|
||||
(
|
||||
show_template "$rev"
|
||||
printf '%s\n' "printf '%s\\n' \"\$${var}\""
|
||||
) | bash 2>/dev/null
|
||||
}
|
||||
|
||||
revision_reset() {
|
||||
|
@ -72,6 +72,28 @@ reverts_on_downgrade() {
|
|||
esac
|
||||
}
|
||||
|
||||
check_revert() {
|
||||
for vr in $reverts; do
|
||||
xbps-uhelper cmpver "${version}" "${vr%_*}"
|
||||
case "$?" in
|
||||
0 | 1)
|
||||
scan '^version=' "remove $vr from \$reverts"
|
||||
status=1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
for vr in $prev_reverts; do
|
||||
if ! xbps-uhelper cmpver "$version" "${vr%_*}"; then
|
||||
continue
|
||||
fi
|
||||
if [ $revision -gt "${vr##*_}" ]; then
|
||||
continue
|
||||
fi
|
||||
scan '^revision=' "undo a revert with same revision as before"
|
||||
status=1
|
||||
done
|
||||
}
|
||||
|
||||
version_change() {
|
||||
version="$(show_template_var "$tip_rev" version)"
|
||||
revision="$(show_template_var "$tip_rev" revision)"
|
||||
|
@ -83,6 +105,7 @@ version_change() {
|
|||
1) revision_reset;;
|
||||
-1|255) reverts_on_downgrade;;
|
||||
esac
|
||||
check_revert
|
||||
}
|
||||
|
||||
version_change
|
||||
|
|
11
common/scripts/lint2annotations.awk
Normal file
11
common/scripts/lint2annotations.awk
Normal file
|
@ -0,0 +1,11 @@
|
|||
# Converts xlint/etc format lints into GH Actions annotations
|
||||
# The original line is printed alongside the annotation command
|
||||
{
|
||||
split($0, a, ": ")
|
||||
split(a[1], b, ":")
|
||||
msg = substr($0, index($0, ": ") + 2)
|
||||
if (b[2]) {
|
||||
line = ",line=" b[2]
|
||||
}
|
||||
printf "::error title=Template Lint,file=%s%s::%s\n", b[1], line, msg
|
||||
}
|
949
common/shlibs
949
common/shlibs
File diff suppressed because it is too large
Load diff
|
@ -13,7 +13,7 @@ fi
|
|||
PKGS=$(/hostrepo/xbps-src sort-dependencies $(cat /tmp/templates))
|
||||
|
||||
for pkg in ${PKGS}; do
|
||||
/hostrepo/xbps-src -j$(nproc) -H "$HOME"/hostdir $arch $test pkg "$pkg"
|
||||
/hostrepo/xbps-src -j$(nproc) -s -H "$HOME"/hostdir $arch $test pkg "$pkg"
|
||||
[ $? -eq 1 ] && exit 1
|
||||
done
|
||||
|
||||
|
|
|
@ -2,19 +2,15 @@
|
|||
#
|
||||
# changed_templates.sh
|
||||
|
||||
if command -v chroot-git >/dev/null 2>&1; then
|
||||
GIT_CMD=$(command -v chroot-git)
|
||||
elif command -v git >/dev/null 2>&1; then
|
||||
GIT_CMD=$(command -v git)
|
||||
fi
|
||||
|
||||
tip="$($GIT_CMD rev-list -1 --parents HEAD)"
|
||||
tip="$(git rev-list -1 --parents HEAD)"
|
||||
case "$tip" in
|
||||
# This is a merge commit, pick last parent
|
||||
*" "*" "*) tip="${tip##* }" ;;
|
||||
# This is a non-merge commit, pick itself
|
||||
*) tip="${tip%% *}" ;;
|
||||
esac
|
||||
|
||||
base="$($GIT_CMD merge-base FETCH_HEAD "$tip")" || {
|
||||
base="$(git merge-base FETCH_HEAD "$tip")" || {
|
||||
echo "Your branches is based on too old copy."
|
||||
echo "Please rebase to newest copy."
|
||||
exit 1
|
||||
|
@ -23,7 +19,7 @@ base="$($GIT_CMD merge-base FETCH_HEAD "$tip")" || {
|
|||
echo "$base $tip" >/tmp/revisions
|
||||
|
||||
/bin/echo -e '\x1b[32mChanged packages:\x1b[0m'
|
||||
$GIT_CMD diff-tree -r --no-renames --name-only --diff-filter=AM \
|
||||
git diff-tree -r --no-renames --name-only --diff-filter=AM \
|
||||
"$base" "$tip" \
|
||||
-- 'srcpkgs/*/template' |
|
||||
cut -d/ -f 2 |
|
||||
|
|
|
@ -7,7 +7,7 @@ TAR=tar
|
|||
command -v bsdtar >/dev/null && TAR=bsdtar
|
||||
ARCH=$(uname -m)-musl
|
||||
VERSION=0.59_5
|
||||
URL="https://alpha.de.repo.voidlinux.org/static/xbps-static-static-${VERSION}.${ARCH}.tar.xz"
|
||||
URL="https://repo-ci.voidlinux.org/static/xbps-static-static-${VERSION}.${ARCH}.tar.xz"
|
||||
FILE=${URL##*/}
|
||||
|
||||
mkdir -p /tmp/bin
|
||||
|
|
|
@ -2,11 +2,8 @@
|
|||
#
|
||||
# changed_templates.sh
|
||||
|
||||
if command -v chroot-git >/dev/null 2>&1; then
|
||||
GIT_CMD=$(command -v chroot-git)
|
||||
elif command -v git >/dev/null 2>&1; then
|
||||
GIT_CMD=$(command -v git)
|
||||
fi
|
||||
# required by git 2.35.2+
|
||||
git config --global --add safe.directory "$PWD"
|
||||
|
||||
/bin/echo -e '\x1b[32mFetching upstream...\x1b[0m'
|
||||
$GIT_CMD fetch --depth 200 https://github.com/void-linux/void-packages.git master
|
||||
git fetch --depth 200 https://github.com/void-linux/void-packages.git master
|
||||
|
|
|
@ -31,6 +31,7 @@ Apache-1.0
|
|||
Apache-1.1
|
||||
Apache-2.0
|
||||
App-s2p
|
||||
Arphic-1999
|
||||
Artistic-1.0-Perl
|
||||
Artistic-1.0-cl8
|
||||
Artistic-1.0
|
||||
|
@ -58,12 +59,14 @@ BSD-Protection
|
|||
BSD-Source-Code
|
||||
BSL-1.0
|
||||
BUSL-1.1
|
||||
Baekmuk
|
||||
Bahyph
|
||||
Barr
|
||||
Beerware
|
||||
Bison-exception-2.2
|
||||
BitTorrent-1.0
|
||||
BitTorrent-1.1
|
||||
Bitstream-Vera
|
||||
BlueOak-1.0.0
|
||||
Bootloader-exception
|
||||
Borceux
|
||||
|
@ -77,6 +80,7 @@ CC-BY-2.5-AU
|
|||
CC-BY-2.5
|
||||
CC-BY-3.0-AT
|
||||
CC-BY-3.0-DE
|
||||
CC-BY-3.0-IGO
|
||||
CC-BY-3.0-NL
|
||||
CC-BY-3.0-US
|
||||
CC-BY-3.0
|
||||
|
@ -220,6 +224,8 @@ GPL-3.0-linking-source-exception
|
|||
GPL-3.0-only
|
||||
GPL-3.0-or-later
|
||||
GPL-CC-1.0
|
||||
GStreamer-exception-2005
|
||||
GStreamer-exception-2008
|
||||
Giftware
|
||||
Glide
|
||||
Glulxe
|
||||
|
@ -244,6 +250,7 @@ JPNIC
|
|||
JSON
|
||||
Jam
|
||||
JasPer-2.0
|
||||
KiCad-libraries-exception
|
||||
LAL-1.2
|
||||
LAL-1.3
|
||||
LGPL-2.0-only
|
||||
|
@ -262,6 +269,8 @@ LPPL-1.1
|
|||
LPPL-1.2
|
||||
LPPL-1.3a
|
||||
LPPL-1.3c
|
||||
LZMA-SDK-9.11-to-9.20
|
||||
LZMA-SDK-9.22
|
||||
LZMA-exception
|
||||
Latex2e
|
||||
Leptonica
|
||||
|
@ -286,10 +295,12 @@ MPL-1.0
|
|||
MPL-1.1
|
||||
MPL-2.0-no-copyleft-exception
|
||||
MPL-2.0
|
||||
MS-LPL
|
||||
MS-PL
|
||||
MS-RL
|
||||
MTLL
|
||||
MakeIndex
|
||||
Minpack
|
||||
MirOS
|
||||
Motosoto
|
||||
MulanPSL-1.0
|
||||
|
@ -302,6 +313,7 @@ NBPL-1.0
|
|||
NCGL-UK-2.0
|
||||
NCSA
|
||||
NGPL
|
||||
NICTA-1.0
|
||||
NIST-PD-fallback
|
||||
NIST-PD
|
||||
NLOD-1.0
|
||||
|
@ -379,6 +391,7 @@ Plexus
|
|||
PolyForm-Noncommercial-1.0.0
|
||||
PolyForm-Small-Business-1.0.0
|
||||
PostgreSQL
|
||||
Python-2.0.1
|
||||
Python-2.0
|
||||
QPL-1.0
|
||||
Qhull
|
||||
|
@ -515,7 +528,9 @@ libpng-2.0
|
|||
libselinux-1.0
|
||||
libtiff
|
||||
mif-exception
|
||||
mpi-permissive
|
||||
mpich2
|
||||
mplus
|
||||
openvpn-openssl-exception
|
||||
psfrag
|
||||
psutils
|
||||
|
|
|
@ -1,15 +1,8 @@
|
|||
#!/bin/sh
|
||||
|
||||
TRAVIS_PROTO=http
|
||||
TRAVIS_MIRROR=repo-us.voidlinux.org
|
||||
TRAVIS_MIRROR=repo-ci.voidlinux.org
|
||||
|
||||
for _i in etc/xbps.d/repos-remote*.conf ; do
|
||||
/bin/echo -e "\x1b[32mUpdating $_i...\x1b[0m"
|
||||
# First fix the proto, ideally we'd serve everything with HTTPS,
|
||||
# but key management and rotation is a pain, and things are signed
|
||||
# so we can afford to be a little lazy at times.
|
||||
sed -i "s:https:$TRAVIS_PROTO:g" $_i
|
||||
|
||||
# Now set the mirror
|
||||
sed -i "s:alpha\.de\.repo\.voidlinux\.org:$TRAVIS_MIRROR:g" $_i
|
||||
sed -i "s:repo-default\.voidlinux\.org:$TRAVIS_MIRROR:g" $_i
|
||||
done
|
||||
|
|
|
@ -11,7 +11,8 @@ common/scripts/lint-commits $base $tip || EXITCODE=$?
|
|||
|
||||
for t in $(awk '{ print "srcpkgs/" $0 "/template" }' /tmp/templates); do
|
||||
/bin/echo -e "\x1b[32mLinting $t...\x1b[0m"
|
||||
xlint "$t" || EXITCODE=$?
|
||||
common/scripts/lint-version-change "$t" $base $tip || EXITCODE=$?
|
||||
xlint "$t" > /tmp/xlint_out || EXITCODE=$?
|
||||
common/scripts/lint-version-change "$t" $base $tip > /tmp/vlint_out || EXITCODE=$?
|
||||
awk -f common/scripts/lint2annotations.awk /tmp/xlint_out /tmp/vlint_out
|
||||
done
|
||||
exit $EXITCODE
|
||||
|
|
25
common/travis/xpkgdiff.sh
Executable file
25
common/travis/xpkgdiff.sh
Executable file
|
@ -0,0 +1,25 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# xpkgdiff.sh
|
||||
|
||||
export XBPS_DISTDIR=/hostrepo XBPS_HOSTDIR="$HOME/hostdir"
|
||||
export DIFF='diff --unified=0 --report-identical-files --suppress-common-lines
|
||||
--color=always --label REPO --label BUILT'
|
||||
ARGS="-a $2 -R https://repo-ci.voidlinux.org/current"
|
||||
|
||||
while read -r pkg; do
|
||||
for subpkg in $(xsubpkg $pkg); do
|
||||
if xbps-query --repository=$HOME/hostdir/binpkgs \
|
||||
--repository=$HOME/hostdir/binpkgs/nonfree \
|
||||
-i "$subpkg" >&/dev/null; then
|
||||
/bin/echo -e "\x1b[34mFile Diff of $subpkg:\x1b[0m"
|
||||
xpkgdiff $ARGS -f $subpkg
|
||||
/bin/echo -e "\x1b[34mMetadata Diff of $subpkg:\x1b[0m"
|
||||
xpkgdiff $ARGS -S $subpkg
|
||||
/bin/echo -e "\x1b[34mDependency Diff of $subpkg:\x1b[0m"
|
||||
xpkgdiff $ARGS -x $subpkg
|
||||
else
|
||||
/bin/echo -e "\x1b[33m$subpkg wasn't found\x1b[0m"
|
||||
fi
|
||||
done
|
||||
done < /tmp/templates
|
|
@ -20,6 +20,13 @@ done
|
|||
|
||||
setup_pkg "$PKGNAME" $XBPS_CROSS_BUILD
|
||||
|
||||
if [ -n "$disable_parallel_check" ]; then
|
||||
XBPS_MAKEJOBS=1
|
||||
else
|
||||
XBPS_MAKEJOBS="$XBPS_ORIG_MAKEJOBS"
|
||||
fi
|
||||
makejobs="-j$XBPS_MAKEJOBS"
|
||||
|
||||
XBPS_CHECK_DONE="${XBPS_STATEDIR}/${sourcepkg}_${XBPS_CROSS_BUILD}_check_done"
|
||||
|
||||
if [ -n "$XBPS_CROSS_BUILD" ]; then
|
||||
|
|
|
@ -25,9 +25,9 @@ setup_pkg_depends() {
|
|||
_pkgname=$(xbps-uhelper getpkgname $_depname 2>/dev/null)
|
||||
[ -z "$_pkgname" ] && _pkgname="$_depname"
|
||||
if [ -s ${XBPS_DISTDIR}/etc/virtual ]; then
|
||||
foo=$(egrep "^${_pkgname}[[:blank:]]" ${XBPS_DISTDIR}/etc/virtual|cut -d ' ' -f2)
|
||||
foo=$(grep -E "^${_pkgname}[[:blank:]]" ${XBPS_DISTDIR}/etc/virtual|cut -d ' ' -f2)
|
||||
elif [ -s ${XBPS_DISTDIR}/etc/defaults.virtual ]; then
|
||||
foo=$(egrep "^${_pkgname}[[:blank:]]" ${XBPS_DISTDIR}/etc/defaults.virtual|cut -d ' ' -f2)
|
||||
foo=$(grep -E "^${_pkgname}[[:blank:]]" ${XBPS_DISTDIR}/etc/defaults.virtual|cut -d ' ' -f2)
|
||||
fi
|
||||
if [ -z "$foo" ]; then
|
||||
msg_error "$pkgver: failed to resolve virtual dependency for '$j' (missing from etc/virtual)\n"
|
||||
|
|
|
@ -54,7 +54,7 @@ bulk_sortdeps() {
|
|||
}
|
||||
|
||||
bulk_build() {
|
||||
local sys="$1"
|
||||
local bulk_build_cmd="$1"
|
||||
local NPROCS=$(($(nproc)*2))
|
||||
local NRUNNING=0
|
||||
|
||||
|
@ -67,10 +67,17 @@ bulk_build() {
|
|||
fi
|
||||
|
||||
# Compare installed pkg versions vs srcpkgs
|
||||
if [[ $sys ]]; then
|
||||
xbps-checkvers -f '%n' -I -D $XBPS_DISTDIR
|
||||
case "$bulk_build_cmd" in
|
||||
installed)
|
||||
bulk_sortdeps $(xbps-checkvers -f '%n' -I -D "$XBPS_DISTDIR")
|
||||
return $?
|
||||
fi
|
||||
;;
|
||||
local)
|
||||
bulk_sortdeps $(xbps-checkvers -f '%n' -i -R "${XBPS_REPOSITORY}" -R "${XBPS_REPOSITORY}/nonfree" -D "$XBPS_DISTDIR")
|
||||
return $?
|
||||
;;
|
||||
esac
|
||||
|
||||
# compare repo pkg versions vs srcpkgs
|
||||
for f in $(xbps-checkvers -f '%n' -D $XBPS_DISTDIR); do
|
||||
if [ $NRUNNING -eq $NPROCS ]; then
|
||||
|
@ -90,9 +97,9 @@ bulk_build() {
|
|||
}
|
||||
|
||||
bulk_update() {
|
||||
local args="$1" pkgs f rval
|
||||
local bulk_update_cmd="$1" pkgs f rval
|
||||
|
||||
pkgs="$(bulk_build ${args})"
|
||||
pkgs="$(bulk_build "${bulk_update_cmd}")"
|
||||
[[ -z $pkgs ]] && return 0
|
||||
|
||||
msg_normal "xbps-src: the following packages must be rebuilt and updated:\n"
|
||||
|
@ -112,7 +119,7 @@ bulk_update() {
|
|||
msg_error "xbps-src: failed to build $pkgver pkg!\n"
|
||||
fi
|
||||
done
|
||||
if [ -n "$pkgs" -a -n "$args" ]; then
|
||||
if [ -n "$pkgs" -a "$bulk_update_cmd" == installed ]; then
|
||||
echo
|
||||
msg_normal "xbps-src: updating your system, confirm to proceed...\n"
|
||||
${XBPS_SUCMD} "xbps-install --repository=$XBPS_REPOSITORY --repository=$XBPS_REPOSITORY/nonfree -u ${pkgs//[$'\n']/ }" || return 1
|
||||
|
|
|
@ -19,8 +19,8 @@ install_base_chroot() {
|
|||
msg_error "xbps-src: failed to install base-chroot-cereus!\n"
|
||||
fi
|
||||
# Reconfigure base-files to create dirs/symlinks.
|
||||
if xbps-query -r $XBPS_MASTERDIR base-files>=2022.07.03 &>/dev/null; then
|
||||
XBPS_ARCH=$XBPS_TARGET_PKG xbps-reconfigure -r $XBPS_MASTERDIR -f base-files>=2022.07.03 &>/dev/null
|
||||
if xbps-query -r $XBPS_MASTERDIR base-files &>/dev/null; then
|
||||
XBPS_ARCH=$XBPS_TARGET_PKG xbps-reconfigure -r $XBPS_MASTERDIR -f base-files &>/dev/null
|
||||
fi
|
||||
|
||||
msg_normal "xbps-src: installed base-chroot-cereus successfully!\n"
|
||||
|
@ -115,14 +115,14 @@ chroot_prepare() {
|
|||
[ ! -d $XBPS_MASTERDIR/$f ] && mkdir -p $XBPS_MASTERDIR/$f
|
||||
done
|
||||
|
||||
# Copy /etc/passwd and /etc/group from base-files
|
||||
# Copy /etc/passwd and /etc/group from base-files.
|
||||
cp -f $XBPS_SRCPKGDIR/base-files/files/passwd $XBPS_MASTERDIR/etc
|
||||
echo "$(whoami):x:$(id -u):$(id -g):$(whoami) user:/tmp:/bin/xbps-shell" \
|
||||
>> $XBPS_MASTERDIR/etc/passwd
|
||||
cp -f $XBPS_SRCPKGDIR/base-files/files/group $XBPS_MASTERDIR/etc
|
||||
echo "$(whoami):x:$(id -g):" >> $XBPS_MASTERDIR/etc/group
|
||||
|
||||
# Copy /etc/hosts from base-files
|
||||
# Copy /etc/hosts from base-files.
|
||||
cp -f $XBPS_SRCPKGDIR/base-files/files/hosts $XBPS_MASTERDIR/etc
|
||||
|
||||
# Prepare default locale: en_US.UTF-8.
|
||||
|
|
|
@ -147,6 +147,23 @@ msg_normal() {
|
|||
fi
|
||||
}
|
||||
|
||||
report_broken() {
|
||||
if [ "$show_problems" = "ignore-problems" ]; then
|
||||
return
|
||||
fi
|
||||
if [ -z "$XBPS_IGNORE_BROKENNESS" ]; then
|
||||
for line in "$@"; do
|
||||
msg_red "$line"
|
||||
done
|
||||
exit 2
|
||||
elif [ "$XBPS_IGNORE_BROKENNESS" != reported ]; then
|
||||
for line in "$@"; do
|
||||
msg_warn "$line"
|
||||
done
|
||||
XBPS_IGNORE_BROKENNESS=reported
|
||||
fi
|
||||
}
|
||||
|
||||
msg_normal_append() {
|
||||
[ -n "$NOCOLORS" ] || printf "\033[1m"
|
||||
printf "$@"
|
||||
|
@ -472,7 +489,15 @@ setup_pkg() {
|
|||
fi
|
||||
makejobs="-j$XBPS_MAKEJOBS"
|
||||
if [ -n "$XBPS_BINPKG_EXISTS" ]; then
|
||||
local _binpkgver="$($XBPS_QUERY_XCMD -R -ppkgver $pkgver 2>/dev/null)"
|
||||
local extraflags=""
|
||||
if [ -n "$XBPS_SKIP_REMOTEREPOS" ]; then
|
||||
extraflags="-i"
|
||||
# filter out remote repositories
|
||||
for repo in $(xbps-query -L | awk '{ print $2 }' | grep '^/host/'); do
|
||||
extraflags+=" --repository=$repo"
|
||||
done
|
||||
fi
|
||||
local _binpkgver="$($XBPS_QUERY_XCMD -R -ppkgver $pkgver $extraflags 2>/dev/null)"
|
||||
if [ "$_binpkgver" = "$pkgver" ]; then
|
||||
if [ -z "$XBPS_DEPENDENCY" ]; then
|
||||
local _repo="$($XBPS_QUERY_XCMD -R -prepository $pkgver 2>/dev/null)"
|
||||
|
@ -630,20 +655,16 @@ setup_pkg() {
|
|||
fi
|
||||
|
||||
# Setup some specific package vars.
|
||||
if [ -z "$wrksrc" ]; then
|
||||
wrksrc="$XBPS_BUILDDIR/${sourcepkg}-${version}"
|
||||
else
|
||||
wrksrc="$XBPS_BUILDDIR/$wrksrc"
|
||||
fi
|
||||
wrksrc="$XBPS_BUILDDIR/${sourcepkg}-${version}"
|
||||
|
||||
if [ "$cross" -a "$nocross" -a "$show_problems" != "ignore-problems" ]; then
|
||||
msg_red "$pkgver: cannot be cross compiled, exiting...\n"
|
||||
msg_red "$pkgver: $nocross\n"
|
||||
exit 2
|
||||
elif [ "$broken" -a "$show_problems" != "ignore-problems" ]; then
|
||||
msg_red "$pkgver: cannot be built, it's currently broken; see the build log:\n"
|
||||
msg_red "$pkgver: $broken\n"
|
||||
exit 2
|
||||
if [ "$cross" -a "$nocross" ]; then
|
||||
report_broken \
|
||||
"$pkgver: cannot be cross compiled...\n" \
|
||||
"$pkgver: $nocross\n"
|
||||
elif [ "$broken" ]; then
|
||||
report_broken \
|
||||
"$pkgver: cannot be built, it's currently broken; see the build log:\n" \
|
||||
"$pkgver: $broken\n"
|
||||
fi
|
||||
|
||||
if [ -n "$restricted" -a -z "$XBPS_ALLOW_RESTRICTED" -a "$show_problems" != "ignore-problems" ]; then
|
||||
|
|
|
@ -72,7 +72,7 @@ prepare_cross_sysroot() {
|
|||
fi
|
||||
rm -f $errlog
|
||||
# Create top level symlinks in sysroot.
|
||||
XBPS_ARCH=$XBPS_TARGET_MACHINE xbps-reconfigure -r $XBPS_CROSS_BASE -f base-files-cereus>=2022.07.03 &>/dev/null
|
||||
XBPS_ARCH=$XBPS_TARGET_MACHINE xbps-reconfigure -r $XBPS_CROSS_BASE -f base-files &>/dev/null
|
||||
# Create a sysroot/include and sysroot/lib symlink just in case.
|
||||
ln -s usr/include ${XBPS_CROSS_BASE}/include
|
||||
ln -s usr/lib ${XBPS_CROSS_BASE}/lib
|
||||
|
|
|
@ -34,8 +34,7 @@ check_pkg_arch() {
|
|||
esac
|
||||
done
|
||||
if [ -z "$nonegation" -a -n "$match" ] || [ -n "$nonegation" -a -z "$match" ]; then
|
||||
msg_red "${pkgname}-${version}_${revision}: this package cannot be built for ${_arch}.\n"
|
||||
exit 2
|
||||
report_broken "${pkgname}-${version}_${revision}: this package cannot be built for ${_arch}.\n"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ update_check() {
|
|||
local i p url pkgurlname rx found_version consider
|
||||
local update_override=$XBPS_SRCPKGDIR/$XBPS_TARGET_PKG/update
|
||||
local original_pkgname=$pkgname
|
||||
local pkgname=$sourcepkg
|
||||
local urlpfx urlsfx
|
||||
local -A fetchedurls
|
||||
|
||||
|
@ -23,8 +24,9 @@ update_check() {
|
|||
|
||||
if [ -z "$site" ]; then
|
||||
case "$distfiles" in
|
||||
# only consider versions those exist in ftp.gnome.org
|
||||
*ftp.gnome.org*) ;;
|
||||
# special case those sites provide better source elsewhere
|
||||
*ftp.gnome.org*|*download.gnome.org*) ;;
|
||||
*archive.xfce.org*) ;;
|
||||
*)
|
||||
printf '%s\n' "$homepage" ;;
|
||||
esac
|
||||
|
@ -56,7 +58,8 @@ update_check() {
|
|||
*github.com*|\
|
||||
*//gitlab.*|\
|
||||
*bitbucket.org*|\
|
||||
*ftp.gnome.org*|\
|
||||
*ftp.gnome.org*|*download.gnome.org*|\
|
||||
*archive.xfce.org*|\
|
||||
*kernel.org/pub/linux/kernel/*|\
|
||||
*cran.r-project.org/src/contrib*|\
|
||||
*rubygems.org*|\
|
||||
|
@ -122,8 +125,11 @@ update_check() {
|
|||
pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
|
||||
url="https://github.com/$pkgurlname/tags"
|
||||
rx='/archive/refs/tags/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar\.gz")';;
|
||||
*//gitlab.*)
|
||||
pkgurlname="$(printf %s "$url" | cut -d/ -f1-5)"
|
||||
*//gitlab.*|*code.videolan.org*)
|
||||
case "$url" in
|
||||
*/-/*) pkgurlname="$(printf %s "$url" | sed -e 's%/-/.*%%g; s%/$%%')";;
|
||||
*) pkgurlname="$(printf %s "$url" | cut -d / -f 1-5)";;
|
||||
esac
|
||||
url="$pkgurlname/tags"
|
||||
rx='/archive/[^/]+/\Q'"$pkgname"'\E-v?\K[\d.]+(?=\.tar\.gz")';;
|
||||
*bitbucket.org*)
|
||||
|
@ -131,8 +137,11 @@ update_check() {
|
|||
url="https://bitbucket.org/$pkgurlname/downloads"
|
||||
rx='/(get|downloads)/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar)';;
|
||||
*ftp.gnome.org*|*download.gnome.org*)
|
||||
: ${pattern="\Q$pkgname\E-\K(0|[13]\.[0-9]*[02468]|[4-9][0-9]+)\.[0-9.]*[0-9](?=)"}
|
||||
: ${pattern="\Q$pkgname\E-\K(0|[13]\.[0-9]*[02468]|[4-9][0-9]+)\.[0-9.]*[0-9](?=.tar)"}
|
||||
url="https://download.gnome.org/sources/$pkgname/cache.json";;
|
||||
*archive.xfce.org*)
|
||||
: ${pattern="\Q$pkgname\E-\K((([4-9]|([1-9][0-9]+))\.[0-9]*[02468]\.[0-9.]*[0-9])|([0-3]\.[0-9.]*))(?=.tar)"}
|
||||
url="https://archive.xfce.org/feeds/project/$pkgname" ;;
|
||||
*kernel.org/pub/linux/kernel/*)
|
||||
rx=linux-'\K'${version%.*}'[\d.]+(?=\.tar\.xz)';;
|
||||
*cran.r-project.org/src/contrib*)
|
||||
|
@ -145,8 +154,8 @@ update_check() {
|
|||
rx='/crates/'${pkgname#rust-}'/\K[0-9.]*(?=/download)' ;;
|
||||
*codeberg.org*)
|
||||
pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
|
||||
url="https://codeberg.org/$pkgurlname/releases"
|
||||
rx='/archive/\K[\d.]+(?=\.tar\.gz)' ;;
|
||||
url="https://codeberg.org/$pkgurlname/tags"
|
||||
rx='/archive/(v-?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar\.gz)' ;;
|
||||
*hg.sr.ht*)
|
||||
pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
|
||||
url="https://hg.sr.ht/$pkgurlname/tags"
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# voidlinux remote repositories (musl)
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/musl
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/musl/nonfree
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/musl/debug
|
||||
repository=https://repo-default.voidlinux.org/current/musl
|
||||
repository=https://repo-default.voidlinux.org/current/musl/bootstrap
|
||||
repository=https://repo-default.voidlinux.org/current/musl/nonfree
|
||||
repository=https://repo-default.voidlinux.org/current/musl/debug
|
||||
|
||||
# Cereus Linux remote repositories (musl)
|
||||
repository=https://sourceforge.net/projects/cereus-linux/files/repos/cereus-core/x86_64-musl
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# voidlinux remote repositories (glibc)
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/nonfree
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/debug
|
||||
repository=https://repo-default.voidlinux.org/current
|
||||
repository=https://repo-default.voidlinux.org/current/nonfree
|
||||
repository=https://repo-default.voidlinux.org/current/debug
|
||||
repository=https://repo-default.voidlinux.org/current/bootstrap
|
||||
|
||||
# Cereus Linux remote repositories (glibc)
|
||||
repository=https://sourceforge.net/projects/cereus-linux/files/repos/cereus-core/x86_64
|
||||
|
|
83
pkglist
83
pkglist
|
@ -1,83 +0,0 @@
|
|||
These are the packages we are maintaining in both Core and Extra repositories.
|
||||
The rest of them are from Void team.
|
||||
|
||||
Graphite-color-schemes
|
||||
Graphite-color-schemes-black
|
||||
Graphite-color-schemes-dark
|
||||
Graphite-color-schemes-light
|
||||
Graphite-color-schemes-nord-dark
|
||||
Graphite-color-schemes-nord-light
|
||||
Graphite-gtk-theme
|
||||
Graphite-gtk-theme-black
|
||||
Graphite-gtk-theme-black-compact
|
||||
Graphite-gtk-theme-compact
|
||||
Graphite-gtk-theme-dark
|
||||
Graphite-gtk-theme-dark-compact
|
||||
Graphite-gtk-theme-light
|
||||
Graphite-gtk-theme-light-compact
|
||||
Graphite-gtk-theme-nord-dark
|
||||
Graphite-gtk-theme-nord-dark-compact
|
||||
Graphite-gtk-theme-nord-light
|
||||
Graphite-gtk-theme-nord-light-compact
|
||||
Graphite-kvantum-theme
|
||||
Graphite-kvantum-theme-Nord-dark
|
||||
Graphite-kvantum-theme-Nord-light
|
||||
Graphite-kvantum-theme-black
|
||||
Graphite-kvantum-theme-dark
|
||||
Graphite-kvantum-theme-light
|
||||
Mint-Ice-Y-Dark
|
||||
Sierra-Dark-Fluxbox
|
||||
base-cereus
|
||||
base-chroot-cereus
|
||||
base-files-cereus
|
||||
blesh
|
||||
blesh-git
|
||||
brave-bin
|
||||
budgie-extras
|
||||
calamares
|
||||
calamares-cereus
|
||||
calamares-modules-cereus
|
||||
calmsky-icon-theme
|
||||
cereus-neofetch
|
||||
cereus-repo-core
|
||||
cereus-repo-extra
|
||||
cereus-wallpapers
|
||||
flat-remix-icewm-theme
|
||||
flat-remix-icon-theme-black
|
||||
flat-remix-icon-theme-blue
|
||||
flat-remix-icon-theme-brown
|
||||
flat-remix-icon-theme-cyan
|
||||
flat-remix-icon-theme-green
|
||||
flat-remix-icon-theme-grey
|
||||
flat-remix-icon-theme-magenta
|
||||
flat-remix-icon-theme-orange
|
||||
flat-remix-icon-theme-red
|
||||
flat-remix-icon-theme-teal
|
||||
flat-remix-icon-theme-violet
|
||||
flat-remix-icon-theme-yellow
|
||||
graphite-kvantum-theme
|
||||
jetbrains-mono-font
|
||||
librewolf-bin
|
||||
musl-locales
|
||||
nerd-fonts-symbols
|
||||
octoxbps-git
|
||||
picom-ibhagwan
|
||||
picom-jonaburg
|
||||
pixelitos-icon-theme
|
||||
plasma-fluxbox
|
||||
plasma-i3
|
||||
runit-cereus
|
||||
runit-cereus-apparmor
|
||||
vibrancy-icon-theme
|
||||
vibrancy-icon-theme-colors
|
||||
vibrancy-icon-theme-dark
|
||||
vibrancy-icon-theme-full-dark
|
||||
vibrancy-icon-theme-light
|
||||
vibrancy-icon-theme-nonmono-dark
|
||||
vibrancy-icon-theme-nonmono-light
|
||||
whatsdesk-bin
|
||||
whatsdesk-bin-i686
|
||||
whatsdesk-git
|
||||
xed-xapps
|
||||
xed-xapps-devel
|
||||
xidlehook
|
|
@ -1,6 +1,6 @@
|
|||
# Template file for 'Graphite-color-schemes'
|
||||
pkgname=Graphite-color-schemes
|
||||
version=2022.02.21
|
||||
version=2023.01.16
|
||||
revision=1
|
||||
build_style=meta
|
||||
nostrip=yes
|
||||
|
@ -16,8 +16,6 @@ short_desc="Custom additional color schemes of Graphite theme for KDE Plasma des
|
|||
maintainer="Kevin F. <https://github.com/KF-Art>"
|
||||
license="GPL-3.0"
|
||||
homepage="https://github.com/KF-Art/Graphite-color-schemes"
|
||||
# distfiles="${homepage}/archive/v${version}.tar.gz"
|
||||
# checksum=
|
||||
|
||||
do_fetch() {
|
||||
git clone https://github.com/KF-Art/Graphite-color-schemes ${wrksrc}
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
Graphite-gtk-theme
|
35
srcpkgs/Graphite-gtk-theme/patches/xfce4-docklike-fix.patch
Normal file
35
srcpkgs/Graphite-gtk-theme/patches/xfce4-docklike-fix.patch
Normal file
|
@ -0,0 +1,35 @@
|
|||
diff --git a/src/sass/gtk/apps/_xfce.scss b/src/sass/gtk/apps/_xfce.scss
|
||||
index f2f219f..91b2c2f 100644
|
||||
--- a/src/sass/gtk/apps/_xfce.scss
|
||||
+++ b/src/sass/gtk/apps/_xfce.scss
|
||||
@@ -18,15 +18,21 @@
|
||||
color: on($panel, secondary);
|
||||
font-weight: 500;
|
||||
|
||||
- button {
|
||||
- @extend %button-flat;
|
||||
- @extend %button-on-dark;
|
||||
-
|
||||
- min-height: 16px;
|
||||
- min-width: 16px;
|
||||
- padding: 0;
|
||||
- border-radius: 0;
|
||||
- }
|
||||
+.xfce4-panel button {
|
||||
+ border: 0;
|
||||
+ border-radius: 0;
|
||||
+ box-shadow: none;
|
||||
+ text-shadow: none;
|
||||
+ background: transparent;
|
||||
+ color: white;
|
||||
+ -gtk-icon-shadow: none; }
|
||||
+
|
||||
+ button:not(#whiskermenu-button):active {
|
||||
+ box-shadow: inset 0 4px 0 rgba(0, 0, 0, 0.2);;
|
||||
+ background: rgba(0, 0, 0, 0.2);
|
||||
+ color: white; }
|
||||
+ .xfce4-panel.vertical button:not(#whiskermenu-button):checked, .xfce4-panel.vertical button:not(#whiskermenu-button):active {
|
||||
+ box-shadow: inset 4px 0 0 rgba(0, 0, 0, 0.2);; }
|
||||
|
||||
.tasklist button {
|
||||
border-image: image(transparent) 0 0 2 / 0 0 2px;
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'Graphite-gtk-theme'
|
||||
pkgname=Graphite-gtk-theme
|
||||
version=2022.09.02
|
||||
date=2022-09-02
|
||||
version=2023.05.17
|
||||
date=${version//./-}
|
||||
revision=1
|
||||
repository="cereus-extra"
|
||||
wrksrc=Graphite-gtk-theme-${date}
|
||||
|
@ -25,11 +25,11 @@ ${pkgname}-nord-light
|
|||
${pkgname}-nord-light-compact"
|
||||
|
||||
short_desc="Material design inspired GTK theme with light and dark variants"
|
||||
maintainer="Kevin F. <https://github.com/KF-Art>"
|
||||
maintainer="Kevin F. <kevinfigueroart@proton.me>"
|
||||
license="GPL-3.0"
|
||||
homepage="https://github.com/vinceliuice/Graphite-gtk-theme"
|
||||
distfiles="${homepage}/archive/refs/tags/${date}.tar.gz"
|
||||
checksum=af03e9e5ae29a5b8ee4b10a8e2ca95396bc300e35e939f21dedbc9568aefcd60
|
||||
checksum=aa212d71ba70cfbc3038fc0f850b1265a9d85a3a87ae1a9da024127e25f53903
|
||||
|
||||
Graphite-gtk-theme-black_package() {
|
||||
nostrip=yes
|
||||
|
|
|
@ -1,22 +1,23 @@
|
|||
# Template file for 'Graphite-kvantum-theme'
|
||||
pkgname=Graphite-kvantum-theme
|
||||
version=1.0
|
||||
revision=4
|
||||
version=1.1.1
|
||||
revision=1
|
||||
build_style=meta
|
||||
repository=cereus-extra
|
||||
depends="${pkgname}-black \
|
||||
${pkgname}-Nord-dark \
|
||||
${pkgname}-Nord-light \
|
||||
${pkgname}-dark \
|
||||
depends="${pkgname}-black
|
||||
${pkgname}-Nord-dark
|
||||
${pkgname}-Nord-light
|
||||
${pkgname}-dark
|
||||
${pkgname}-light"
|
||||
nostrip=yes
|
||||
wrksrc=Graphite-kvantum-colors-${version}
|
||||
short_desc="Material design inspired Kvantum theme"
|
||||
maintainer="Kevin F. <https://github.com/KF-Art>"
|
||||
maintainer="Kevin F. <kevinfigueroart@proton.me>"
|
||||
license="GPL-3.0"
|
||||
homepage="https://github.com/KF-Art/Graphite-kvantum-colors"
|
||||
changelog="${homepage}/releases/tag/${version}"
|
||||
distfiles="${homepage}/archive/refs/tags/${version}.tar.gz"
|
||||
checksum=01be2c306de4e4b3ca6788d02e49206688aae207ccf0252957bece02eb1b1e1c
|
||||
checksum=af603cbd5b1e323ca775a8a724e94bddf9534a0961db6d5a4771bcb6d9a02fbc
|
||||
|
||||
Graphite-kvantum-theme-black_package() {
|
||||
color=black
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'Tela-icon-theme'
|
||||
pkgname=Tela-icon-theme
|
||||
date=2022-08-28
|
||||
version=2022.08.28
|
||||
version=2023.02.03
|
||||
date=${version//./-}
|
||||
revision=1
|
||||
build_style=meta
|
||||
repository=cereus-extra
|
||||
|
@ -16,10 +16,8 @@ depends="${pkgname}-standard \
|
|||
${pkgname}-red \
|
||||
${pkgname}-yellow \
|
||||
${pkgname}-manjaro
|
||||
${pkgname}-ubuntu"
|
||||
|
||||
# Keep nord variant until it integrates to future release (currently is only in git branch)
|
||||
# ${pkgname}-nord"
|
||||
${pkgname}-ubuntu
|
||||
${pkgname}-nord"
|
||||
|
||||
nostrip=yes
|
||||
icondir=usr/share/icons
|
||||
|
@ -30,7 +28,7 @@ maintainer="Kevin F. <https://github.com/KF-Art>"
|
|||
license="GPL-3.0"
|
||||
homepage="https://github.com/vinceliuice/Tela-icon-theme"
|
||||
distfiles="${homepage}/archive/refs/tags/${date}.tar.gz"
|
||||
checksum=09be82313a0ccfab4e3390de6dd1bd0ace115ba5990aae42e327777642ee7ff4
|
||||
checksum=ab6bf283875a8d777d1a3c8b5969c78a0d329409a4561f4c0f22d36d69171e5d
|
||||
|
||||
Tela-icon-theme-standard_package() {
|
||||
color=standard
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'alttab-git'
|
||||
pkgname=alttab-git
|
||||
version=2022.05.28
|
||||
revision=2
|
||||
version=2023.03.19
|
||||
revision=1
|
||||
build_style=gnu-configure
|
||||
hostmakedepends="pkg-config git"
|
||||
repository="cereus-extra"
|
||||
|
@ -9,7 +9,7 @@ makedepends="libX11-devel libXft-devel libXmu-devel libXrandr-devel
|
|||
libXrender-devel libpng-devel libXpm-devel uthash automake"
|
||||
checkdepends="procps-ng xvfb-run xeyes xprop"
|
||||
short_desc="Task switcher for minimalistic window managers - git branch"
|
||||
maintainer="Kevin F. <https://github.com/KF-Art>"
|
||||
maintainer="Kevin F. <kevinfigueroart@proton.me>"
|
||||
license="GPL-3.0-or-later"
|
||||
homepage="https://github.com/sagb/alttab"
|
||||
changelog="https://github.com/sagb/alttab/raw/master/ChangeLog"
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
# Template file for 'base-cereus'
|
||||
pkgname=base-cereus
|
||||
version=0.114
|
||||
revision=4
|
||||
version=2023.02.14
|
||||
revision=1
|
||||
build_style=meta
|
||||
repository=cereus-core
|
||||
short_desc="Cereus Linux base system meta package"
|
||||
maintainer="Kevin F. <https://github.com/KF-Art>"
|
||||
maintainer="Kevin F. <kevinfigueroart@proton.me>"
|
||||
license="Public Domain"
|
||||
conflicts="base-system"
|
||||
homepage="https://cereuslinuxproject.github.io"
|
||||
|
@ -16,7 +16,8 @@ depends="
|
|||
mdocml>=1.13.3 shadow e2fsprogs btrfs-progs xfsprogs f2fs-tools dosfstools
|
||||
procps-ng tzdata pciutils usbutils iana-etc openssh dhcpcd cereus-repo-core
|
||||
cereus-repo-extra kbd iproute2 iputils iw wpa_supplicant xbps nvi wifi-firmware
|
||||
cereus-artwork traceroute ethtool kmod acpid eudev runit-cereus removed-packages"
|
||||
cereus-artwork traceroute ethtool kmod acpid eudev runit-cereus removed-packages
|
||||
xrankmirrors"
|
||||
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
*-musl) depends+=" musl musl-locales";;
|
||||
|
@ -24,5 +25,5 @@ case "$XBPS_TARGET_MACHINE" in
|
|||
esac
|
||||
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
i686*|x86_64*|ppc*) depends+=" linux-base linux5.15 linux5.15-headers";;
|
||||
i686*|x86_64*|ppc*) depends+=" linux-default-cereus";;
|
||||
esac
|
||||
|
|
|
@ -4,4 +4,3 @@
|
|||
[[ $- != *i* ]] && return
|
||||
|
||||
alias ls='ls --color=auto'
|
||||
PS1='[\u@\h \W]\$ '
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
version="1.0"
|
||||
distributor_id="Cereus"
|
||||
description="Cereus Linux"
|
||||
release="Rolling"
|
||||
release="Beta"
|
||||
codename="cereus"
|
||||
options=""
|
||||
short=0
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
# Template file for 'base-files'
|
||||
pkgname=base-files
|
||||
version=2022.07.03
|
||||
revision=11
|
||||
version=2023.01.30
|
||||
revision=1
|
||||
bootstrap=yes
|
||||
repository=cereus-core
|
||||
depends="xbps-triggers"
|
||||
short_desc="Cereus Linux base system files"
|
||||
maintainer="Kevin F. <https://github.com/KF-Art>"
|
||||
maintainer="Kevin F. <kevinfigueroart@proton.me>"
|
||||
license="Public Domain"
|
||||
homepage="https://cereus-linux.sourceforge.io"
|
||||
conflicts="base-files>=0.77"
|
||||
|
|
20
srcpkgs/betterlockscreen-gui/template
Normal file
20
srcpkgs/betterlockscreen-gui/template
Normal file
|
@ -0,0 +1,20 @@
|
|||
# Template file for 'betterlockscreen-gui'
|
||||
pkgname=betterlockscreen-gui
|
||||
version=2023.01.28
|
||||
revision=1
|
||||
repository="cereus-extra"
|
||||
hostmakedepends="git"
|
||||
depends="python3-psutil betterlockscreen python3-gobject pygtk resolution-hooks bc"
|
||||
short_desc="Betterlockscreen GUI configuration tool"
|
||||
maintainer="Kevin F. <kevinfigueroart@protonmail.com>"
|
||||
license="GPL-3.0-or-later"
|
||||
homepage="https://github.com/CereusLinuxProject/betterlockscreen-gui"
|
||||
changelog="${homepage}/commits/master"
|
||||
|
||||
do_fetch() {
|
||||
git clone ${homepage} ${wrksrc}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
vcopy usr ./
|
||||
}
|
|
@ -1,13 +1,13 @@
|
|||
# Template file for 'blesh-git'
|
||||
pkgname=blesh-git
|
||||
version=2022.11.12
|
||||
version=2023.04.18
|
||||
revision=1
|
||||
makedepends="gawk git"
|
||||
depends="bash git"
|
||||
build_style="gnu-makefile"
|
||||
repository=cereus-extra
|
||||
short_desc="A replacement for bash's line editor with advanced features"
|
||||
maintainer="Kevin F. <https://github.com/KF-Art>"
|
||||
short_desc="A replacement for bash's line editor with advanced features - git nightly branch"
|
||||
maintainer="Kevin F. <kevinfigueroart@proton.me>"
|
||||
license="BSD-3-Clause"
|
||||
conflicts="blesh"
|
||||
homepage="https://github.com/akinomyoga/ble.sh"
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
# Template file for 'blesh'
|
||||
pkgname=blesh
|
||||
version=0.3.3
|
||||
revision=4
|
||||
version=0.3.4
|
||||
revision=1
|
||||
depends="bash"
|
||||
repository=cereus-extra
|
||||
wrksrc="ble-${version}"
|
||||
short_desc="A replacement for bash's line editor with advanced features"
|
||||
maintainer="Kevin F. <https://github.com/KF-Art>"
|
||||
maintainer="Kevin F. <kevinfigueroart@proton.me>"
|
||||
license="BSD-3-Clause"
|
||||
conflicts="blesh-git"
|
||||
homepage="https://github.com/akinomyoga/ble.sh"
|
||||
distfiles="${homepage}/releases/download/v0.3.3/ble-${version}.tar.xz"
|
||||
checksum=a7e66383bd828584e82133ee08ab0bd8074ef0a739eacb835ff0970c3853f33a
|
||||
distfiles="${homepage}/releases/download/v${version}/ble-${version}.tar.xz"
|
||||
checksum=e543a43d211fef8f52b96b2e7935e892581421f759cda4ae87563854ebc60573
|
||||
|
||||
do_install() {
|
||||
vmkdir usr/share/blesh
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
# Template file for 'brave-bin'
|
||||
pkgname=brave-bin
|
||||
version=1.45.125
|
||||
version=1.50.121
|
||||
revision=1
|
||||
archs="x86_64"
|
||||
repository="cereus-extra"
|
||||
short_desc="Secure, fast and private web browser with ad blocker"
|
||||
maintainer="Kevin F. <https://github.com/KF-Art>"
|
||||
maintainer="Kevin F. <kevinfigueroart@proton.me>"
|
||||
hostmakedepends="tar xz awk"
|
||||
license="Mozilla Public License Version 2.0"
|
||||
license="MPL-2.0"
|
||||
homepage="https://brave.com"
|
||||
distfiles="https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"
|
||||
checksum=8cef0647d7bd726b347ed27a6efac847d1fb620023a211e090035f9db94febe9
|
||||
checksum=b15edc10d04240bb3c569253d7507bd488ee18e95ec5de66fd696fffdbeab561
|
||||
|
||||
do_extract() {
|
||||
mkdir -p ${DESTDIR}
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
# Template file for 'budgie-extras'
|
||||
pkgname=budgie-extras
|
||||
version=1.5.0
|
||||
version=1.6.0
|
||||
revision=1
|
||||
repository=cereus-extra
|
||||
build_style=meson
|
||||
hostmakedepends="pkg-config glib"
|
||||
hostmakedepends="pkg-config glib awk"
|
||||
makedepends="budgie-desktop-devel pam-devel pkg-config glib-devel glib cmake libgee08-devel intltool granite-devel libsoup-devel AppStream-devel zeitgeist-devel libhandy-devel libkeybinder3-devel libnma-devel"
|
||||
short_desc="Additional Budgie desktop applets to enhance user experience"
|
||||
maintainer="Kevin F. <https://github.com/KF-Art>"
|
||||
license="GPL-3.0"
|
||||
maintainer="Kevin F. <kevinfigueroart@proton.me>"
|
||||
license="GPL-3.0-or-later"
|
||||
homepage="https://github.com/UbuntuBudgie/budgie-extras"
|
||||
changelog="${homepage}/releases/tag/v${version}"
|
||||
distfiles="${homepage}/releases/download/v${version}/${pkgname}-${version}.tar.xz"
|
||||
checksum=10d14a1f6c90d5fa8106077094f83030a5ac26cf81e9820e9c34566b182a844a
|
||||
checksum=450e801a187290a00b7fb3e7922ea91159d7ecc8ae6592f375ca7a0874a0f674
|
||||
|
||||
post_install() {
|
||||
vlicense LICENSE
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
# Template file for 'calamares-branding'
|
||||
pkgname=calamares-branding
|
||||
version=2022.06.09
|
||||
revision=1
|
||||
version=2023.01.30
|
||||
revision=2
|
||||
hostmakedepends="git"
|
||||
_brandingdir="etc/calamares/branding/cereus"
|
||||
repository="cereus-core"
|
||||
short_desc="Calamares branding for Cereus Linux"
|
||||
maintainer="KF-Art <https://github.com/KF-Art>"
|
||||
maintainer="Kevin F. <kevinfigueroart@proton.me>"
|
||||
license="CC-BY-SA-4.0"
|
||||
homepage="https://github.com/CereusLinuxProject/Cereus-Artwork/tree/main/calamares-branding"
|
||||
|
||||
|
@ -17,8 +17,9 @@ do_fetch() {
|
|||
do_install() {
|
||||
vmkdir ${_brandingdir}
|
||||
vcopy ${pkgname}/*.png ${_brandingdir}
|
||||
cp branding/cereus-logo-512x512.png branding/logo.png
|
||||
vinstall branding/logo.png 0644 ${_brandingdir}
|
||||
vinstall ${pkgname}/show.qml 0644 ${_brandingdir}
|
||||
cp Branding/cereus-logo-512x512.png Branding/logo.png
|
||||
vinstall Branding/logo.png 0644 ${_brandingdir}
|
||||
vinstall ${pkgname}/branding.desc 0644 ${_brandingdir}
|
||||
vlicense LICENSE
|
||||
}
|
||||
|
|
|
@ -1,339 +0,0 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
|
@ -1,107 +0,0 @@
|
|||
#!/usr/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# === This file is part of Calamares - <http://github.com/calamares> ===
|
||||
#
|
||||
# Copyright 2014 - 2019, Philip Müller <philm@manjaro.org>
|
||||
# Copyright 2016, Artoo <artoo@manjaro.org>
|
||||
#
|
||||
# Calamares is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# Calamares is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import libcalamares
|
||||
import subprocess
|
||||
|
||||
from shutil import copy2
|
||||
from distutils.dir_util import copy_tree
|
||||
from os.path import join, exists
|
||||
from libcalamares.utils import target_env_call
|
||||
|
||||
|
||||
class ConfigController:
|
||||
def __init__(self):
|
||||
self.__root = libcalamares.globalstorage.value("rootMountPoint")
|
||||
|
||||
@property
|
||||
def root(self):
|
||||
return self.__root
|
||||
|
||||
def terminate(self, proc):
|
||||
target_env_call(['killall', '-9', proc])
|
||||
|
||||
def copy_file(self, file):
|
||||
if exists("/" + file):
|
||||
copy2("/" + file, join(self.root, file))
|
||||
|
||||
def copy_folder(self, source, target):
|
||||
if exists("/" + source):
|
||||
copy_tree("/" + source, join(self.root, target))
|
||||
|
||||
def remove_pkg(self, pkg):
|
||||
target_env_call(['xbps-remove', '-Ry', pkg])
|
||||
|
||||
def umount(self, mp):
|
||||
subprocess.call(["umount", "-l", join(self.root, mp)])
|
||||
|
||||
def mount(self, mp):
|
||||
subprocess.call(["mount", "-B", "/" + mp, join(self.root, mp)])
|
||||
|
||||
def rmdir(self, dir):
|
||||
subprocess.call(["rm", "-Rf", join(self.root, dir)])
|
||||
|
||||
def mkdir(self, dir):
|
||||
subprocess.call(["mkdir", "-p", join(self.root, dir)])
|
||||
|
||||
def run(self):
|
||||
if exists(join(self.root, "usr/sbin/void-installer")):
|
||||
target_env_call(["rm", "-f", "usr/sbin/void-installer"])
|
||||
|
||||
if exists(join(self.root, "usr/sbin/cereus-installer")):
|
||||
target_env_call(["rm", "-f", "usr/sbin/cereus-installer"])
|
||||
|
||||
# Initialize package manager databases
|
||||
if libcalamares.globalstorage.value("hasInternet"):
|
||||
target_env_call(["xbps-install", "-Syy"])
|
||||
|
||||
# Remove calamares
|
||||
self.remove_pkg("calamares-cereus")
|
||||
if exists(join(self.root, "usr/share/applications/calamares.desktop")):
|
||||
target_env_call(["rm", "-f", "usr/share/applications/calamares.desktop"])
|
||||
|
||||
# Copy skel to root
|
||||
self.copy_folder('etc/skel', 'root')
|
||||
|
||||
# Update grub.cfg
|
||||
if exists(join(self.root, "usr/bin/update-grub")):
|
||||
target_env_call(["update-grub"])
|
||||
|
||||
# Enable 'menu_auto_hide' when supported in grubenv
|
||||
if exists(join(self.root, "usr/bin/grub-set-bootflag")):
|
||||
target_env_call(["grub-editenv", "-", "set", "menu_auto_hide=1", "boot_success=1"])
|
||||
|
||||
# Enable plymouth
|
||||
target_env_call(["plymouth-set-default-theme", "-R", "cereus_simply"])
|
||||
|
||||
# Replace /etc/issue msg from live
|
||||
if exists(join(self.root, "etc/issue.new")):
|
||||
target_env_call(["mv", "etc/issue.new", "etc/issue"])
|
||||
|
||||
# Reconfigure all target packages to ensure everything is ok
|
||||
target_env_call(["xbps-reconfigure", "-fa"])
|
||||
|
||||
def run():
|
||||
""" Misc postinstall configurations """
|
||||
|
||||
config = ConfigController()
|
||||
|
||||
return config.run()
|
|
@ -1,6 +0,0 @@
|
|||
# Syntax is YAML 1.2
|
||||
---
|
||||
type: "job"
|
||||
name: "postcfg"
|
||||
interface: "python"
|
||||
script: "main.py" #assumed relative to the current directory
|
|
@ -1,16 +1,21 @@
|
|||
# Template file for 'calamares-modules-cereus'
|
||||
pkgname=calamares-modules-cereus
|
||||
version=2022.09.22
|
||||
revision=1
|
||||
modules_dir="usr/lib/calamares/modules/"
|
||||
version=2023.02.14
|
||||
revision=2
|
||||
hostmakedepends="git"
|
||||
_modules_dir="usr/lib/calamares/modules/"
|
||||
repository="cereus-core"
|
||||
short_desc="Additional Cereus modules for Calamares installer"
|
||||
maintainer="Kevin F. <https://github.com/KF-Art>"
|
||||
license="GPL-3.0"
|
||||
homepage="https://cereuslinuxproject.github.io"
|
||||
short_desc="Additional Cereus Linux modules for Calamares installer"
|
||||
maintainer="Kevin F. <kevinfigueroart@proton.me>"
|
||||
license="GPL-2.0"
|
||||
homepage="https://github.com/CereusLinuxProject/calamares-modules"
|
||||
|
||||
do_fetch() {
|
||||
git clone ${homepage} ${wrksrc}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
vmkdir ${modules_dir}
|
||||
vcopy ${FILESDIR}/modules/* ${modules_dir}
|
||||
vlicense ${FILESDIR}/LICENSE
|
||||
vmkdir ${_modules_dir}
|
||||
vcopy modules/* ${_modules_dir}
|
||||
vlicense LICENSE
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'calamares'
|
||||
pkgname=calamares
|
||||
version=3.2.61
|
||||
revision=2
|
||||
version=3.2.62
|
||||
revision=1
|
||||
build_style=cmake
|
||||
repository=cereus-extra
|
||||
configure_args="-DCMAKE_BUILD_TYPE=Release
|
||||
|
@ -13,19 +13,19 @@ configure_args="-DCMAKE_BUILD_TYPE=Release
|
|||
-DBoost_NO_BOOST_CMAKE=ON
|
||||
-DSKIP_MODULES='webview;interactiveterminal;services-systemd;dummyprocess;dummypython;dummycpp;dummypythonqt'"
|
||||
hostmakedepends="git extra-cmake-modules pkg-config gettext
|
||||
ckbcomp kcoreaddons kdelibs4support python3-yaml awk"
|
||||
ckbcomp kcoreaddons kdelibs4support python3-yaml awk clang"
|
||||
makedepends="python3-devel python3-jsonschema yaml-cpp-devel boost-devel qt5-devel python3-devel kpmcore-devel
|
||||
qt5-tools qt5-translations boost boost-python3-1.80 python3-QtPy qt5-svg-devel
|
||||
qt5-tools qt5-translations boost boost-python3 python3-QtPy qt5-svg-devel
|
||||
libpwquality AppStream-qt plasma-framework-devel qt5-webengine"
|
||||
depends="kconfig kcoreaddons kiconthemes ki18n kio ksolid yaml-cpp kpmcore boost ckbcomp
|
||||
hardinfo qt5-svg polkit-qt5 gtk-update-icon-cache plasma-framework qt5-xmlpatterns
|
||||
squashfs-tools libpwquality AppStream-qt icu"
|
||||
short_desc="Distribution-independent installer framework"
|
||||
maintainer="Kevin F. <https://github.com/KF-Art>"
|
||||
maintainer="Kevin F. <kevinfigueroart@proton.me>"
|
||||
license="GPL"
|
||||
homepage="https://calamares.io"
|
||||
distfiles="https://github.com/${pkgname}/${pkgname}/releases/download/v${version}/${pkgname}-${version}.tar.gz"
|
||||
checksum=7591b9b60738bdba7b9de2b8da5462ab21006db06a006f0dd21ac5b832711dd2
|
||||
checksum=a0fbcec2a438693753fc174220356119ad7adb8a2b19c317518aa1cb025d6dd0
|
||||
|
||||
case ${XBPS_TARGET_MACHINE} in
|
||||
*-musl)
|
||||
|
@ -45,4 +45,6 @@ post_install() {
|
|||
for license in BSD-2-Clause CC-BY-4.0 CC0-1.0 GPL-3.0-or-later LGPL-2.0-only LGPL-2.1-only LGPL-3.0-or-later MIT; do
|
||||
vlicense LICENSES/${license}.txt
|
||||
done
|
||||
|
||||
vbin build/loadmodule
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Template file for 'cereus-artwork'
|
||||
pkgname=cereus-artwork
|
||||
version=2022.06.14
|
||||
version=2023.01.30
|
||||
revision=1
|
||||
hostmakedepends="git"
|
||||
_wallpaperdir="usr/share/backgrounds"
|
||||
|
@ -17,7 +17,7 @@ do_fetch() {
|
|||
}
|
||||
|
||||
do_install() {
|
||||
# Create directories in fake root
|
||||
# Create directories in targetdir
|
||||
for dir in ${_wallpaperdir} ${_icondir} ${_logodir}
|
||||
do vmkdir ${dir}
|
||||
done
|
||||
|
@ -41,16 +41,29 @@ do_install() {
|
|||
|
||||
|
||||
# Install icons
|
||||
vinstall branding/cereus-logo-512x512.svg 0644 \
|
||||
${_icondir}/scalable/apps cereus-logo.svg
|
||||
|
||||
for logo in cereus-logo{,-dark,-light}; do
|
||||
vinstall Branding/${logo}-512x512.svg 0644 \
|
||||
${_icondir}/scalable/apps ${logo}.svg
|
||||
done
|
||||
|
||||
for res in 16 22 32 48 64 128 256 512
|
||||
do vinstall branding/cereus-logo-${res}x${res}.png 0644 \
|
||||
do vinstall Branding/cereus-logo-${res}x${res}.png 0644 \
|
||||
${_icondir}/${res}x${res}/apps/ cereus-logo.png
|
||||
done
|
||||
|
||||
for res in 16 22 32 48 64 128 256 512
|
||||
do vinstall Branding/cereus-logo-light-${res}x${res}.png 0644 \
|
||||
${_icondir}/${res}x${res}/apps/ cereus-logo-light.png
|
||||
done
|
||||
|
||||
for res in 16 22 32 48 64 128 256 512
|
||||
do vinstall Branding/cereus-logo-dark-${res}x${res}.png 0644 \
|
||||
${_icondir}/${res}x${res}/apps/ cereus-logo-dark.png
|
||||
done
|
||||
|
||||
# Install logos
|
||||
vcopy branding/* ${_logodir}
|
||||
vcopy Branding/* ${_logodir}
|
||||
|
||||
# Install license
|
||||
vlicense LICENSE
|
||||
|
|
5
srcpkgs/cereus-global-presets/INSTALL
Normal file
5
srcpkgs/cereus-global-presets/INSTALL
Normal file
|
@ -0,0 +1,5 @@
|
|||
# INSTALL
|
||||
case "$ACTION" in
|
||||
post)
|
||||
plymouth-set-default-theme -R cereus_simply ;;
|
||||
esac
|
36
srcpkgs/cereus-global-presets/template
Normal file
36
srcpkgs/cereus-global-presets/template
Normal file
|
@ -0,0 +1,36 @@
|
|||
# Template file for 'cereus-global-presets'
|
||||
pkgname=cereus-global-presets
|
||||
version=2023.01.28
|
||||
revision=1
|
||||
repository="cereus-core"
|
||||
conf_files="
|
||||
/etc/pipewire/pipewire.conf
|
||||
/etc/skel/.profile
|
||||
/etc/xdg/autostart/*.desktop
|
||||
/etc/bash/bashrc.d/*.sh"
|
||||
hostmakedepends="git"
|
||||
depends="cereus-themes-presets bluez gst-libav libva-utils gst-plugins-base1 gst-plugins-good1 libcups-filters python3-cups python3-cupshelpers system-config-printer system-config-printer-udev vpm vsv numlockx xdg-user-dirs octoxbps-git touchegg plymouth cereus-plymouth-theme sof-firmware libspa-bluetooth NetworkManager chrony elogind alsa-pipewire pipewire gstreamer1-pipewire wireplumber pulseaudio-utils"
|
||||
short_desc="Cereus Linux global default configurations"
|
||||
maintainer="Kevin F. <kevinfigueroart@protonmail.com>"
|
||||
license="GPL-3.0-or-later"
|
||||
homepage="https://github.com/CereusLinuxProject/presets"
|
||||
changelog="${homepage}/commits/main/global"
|
||||
|
||||
do_fetch() {
|
||||
git clone ${homepage} ${wrksrc}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
cd global/etc
|
||||
vinstall pipewire/pipewire.conf 0644 /etc/pipewire/
|
||||
|
||||
vinstall skel/.profile 0644 /etc/skel/
|
||||
for f in octoxbps-notifier pipewire touchegg; do
|
||||
vinstall xdg/autostart/${f}.desktop 0644 /etc/xdg/autostart/
|
||||
done
|
||||
|
||||
cd bash/bashrc.d
|
||||
for f in 99-ble 10-cereus-prompt; do
|
||||
vinstall ${f}.sh 0644 /etc/bash/bashrc.d/
|
||||
done
|
||||
}
|
22
srcpkgs/cereus-lightdm-presets/template
Normal file
22
srcpkgs/cereus-lightdm-presets/template
Normal file
|
@ -0,0 +1,22 @@
|
|||
# Template file for 'cereus-lightdm-presets'
|
||||
pkgname=cereus-lightdm-presets
|
||||
version=2023.01.20
|
||||
revision=1
|
||||
repository="cereus-core"
|
||||
conf_files="
|
||||
/etc/lightdm/lightdm.conf.d/*.conf"
|
||||
hostmakedepends="git"
|
||||
short_desc="Cereus Linux default configurations for LightDM"
|
||||
maintainer="Kevin F. <kevinfigueroart@protonmail.com>"
|
||||
license="GPL-3.0-or-later"
|
||||
homepage="https://github.com/CereusLinuxProject/presets"
|
||||
changelog="${homepage}/commits/main/global/etc/lightdm"
|
||||
|
||||
do_fetch() {
|
||||
git clone ${homepage} ${wrksrc}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
cd global/etc/lightdm/lightdm.conf.d
|
||||
vinstall 10-numlock.conf 0644 etc/lightdm/lightdm.conf.d/
|
||||
}
|
33
srcpkgs/cereus-lxqt-presets/template
Normal file
33
srcpkgs/cereus-lxqt-presets/template
Normal file
|
@ -0,0 +1,33 @@
|
|||
# Template file for 'cereus-lxqt-presets'
|
||||
pkgname=cereus-lxqt-presets
|
||||
version=2023.02.10
|
||||
revision=1
|
||||
repository="cereus-core"
|
||||
conf_files="
|
||||
/etc/lxqt/*.conf
|
||||
/etc/pcmanfm-qt/*/*.conf
|
||||
/etc/qterminal.org/qterminal.ini
|
||||
/etc/xdg/featherpad/*.conf
|
||||
/etc/skel/.config/kdeglobals
|
||||
/etc/skel/.config/lockscreen-bg.conf
|
||||
/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
|
||||
/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
|
||||
/etc/skel/.config/featherpad/*.conf
|
||||
/etc/xdg/autostart/ksuperkey.desktop"
|
||||
hostmakedepends="git"
|
||||
depends="lxqt-cereus cereus-global-presets cereus-lightdm-presets udisks2 gvfs-afc gvfs-mtp
|
||||
gvfs-smb blueman flameshot pasystray-git ksuperkey network-manager-applet pavucontrol-qt"
|
||||
short_desc="Cereus Linux default configurations for LXQt edition"
|
||||
maintainer="Kevin F. <kevinfigueroart@protonmail.com>"
|
||||
license="GPL-3.0-or-later"
|
||||
homepage="https://github.com/CereusLinuxProject/presets"
|
||||
changelog="${homepage}/commits/main/lxqt"
|
||||
|
||||
do_fetch() {
|
||||
git clone ${homepage} ${wrksrc}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
vcopy lxqt/* ./
|
||||
vinstall global/etc/skel/.config/lockscreen-bg.conf 0644 etc/skel/.config/
|
||||
}
|
18
srcpkgs/cereus-lxqt-themes/template
Normal file
18
srcpkgs/cereus-lxqt-themes/template
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Template file for 'cereus-lxqt-themes'
|
||||
pkgname=cereus-lxqt-themes
|
||||
version=2023.01.30
|
||||
revision=1
|
||||
repository="cereus-extra"
|
||||
_theme_dir="usr/share/lxqt/themes"
|
||||
short_desc="Cereus Linux custom themes for LXQt desktop"
|
||||
maintainer="Kevin F. <kevinfigueroart@protonmail.com>"
|
||||
license="GPL-3.0-or-later"
|
||||
homepage="https://github.com/CereusLinuxProject/cereus-lxqt-themes"
|
||||
changelog="${homepage}/commits/main"
|
||||
distfiles="${homepage}/archive/refs/heads/main.zip"
|
||||
checksum=73f325b870b2e39b8b15d61faf18a73c84e641dc8710f6d42ad8161e6db2673d
|
||||
|
||||
do_install() {
|
||||
vmkdir ${_theme_dir}
|
||||
vcopy Cereus* ${_theme_dir}/
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue