You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This update is a quality of life update focusing on important bug fixes and adding requested features. Users can update from Pacstall 4.0.0 or higher with pacstall -U pacstall:master, or reinstall using the deb file.
We have now begun to integrate parsing of .SRCINFO data into pacstall directly, meaning if you have a personal pacstall-programs repository, it is now required for .SRCINFO generation to be done in it. You can do so by using this script in the pacstall-programs repository:
If the .SRCINFO file has already been added to git, then future runs can keep the file maintained with pre-commit run --all-files.
Arch-style alternative architectures
To allow for easier porting of packages from the AUR, particularly ones using architecture enhanced arrays, we have introduced the option to use the naming scheme from Arch as an alternative to the Debian naming scheme we currently use. Additionally, a new variable $AARCH is available to all pacscripts. Below is the updated snippet for https://github.com/pacstall/pacstall/wiki/101.1-Variables#arch:
Two variables, $CARCH and $AARCH are also available to you, and are linked to the current running architecture. You can get the value that $CARCH would be on your system by running dpkg --print-architecture, and $AARCH by running echo $HOSTTYPE (with two exceptions, starred below). These are differentiated in the given list with CARCH/AARCH (if only one is listed, the variables are equal).
Pacstall supports all architectures that have an official Debian port. These are currently:
amd64/aarch64
arm64/x86_64
armel/arm
armhf/armv7h*
i386/i686*
mips64el
ppc64el
riscv64
s390x
Important
While both $CARCH and $AARCH will always be accessible to a pacscript, only one naming scheme may be used in the arch array. This means you cannot mix and match, like arch=('amd64' 'i686') or arch=('arm64' 'aarch64'). The naming scheme used will determine which enhanced arrays will be available.
New control fields and custom fields
makeconflicts
This is an array used to declare packages that cannot be installed on the system at build-time, usually because of a package conflict with a build-time dependency.
This array can be enhanced by $arch and/or $DISTRO.
checkconflicts
This is an array used to declare packages that cannot be installed on the system for testing in the check function, usually because of a package conflict with a check dependency.
This array can be enhanced by $arch and/or $DISTRO.
recommends
A list of packages that this package does not depend on, but may receive improved functionality from, and most users would want to have included with their install. For Debian's "Suggests" field, use optdepends. Packages marked "Recommends" have stronger weight than packages marked "Suggests" (optdepends), but can still be opted out of, unlike depends.
This array can be enhanced by $arch and/or $DISTRO.
enhances
A list of packages that this package can satisfy as a suggested package or recommended package. For instance, if the package foobar recommends foobar-extras, in foobar-extras you would have:
enhances=("foobar")
This array can be enhanced by $arch and/or $DISTRO.
custom_fields
This is an optional list of Debian control fields not already used by Pacstall's variables. If you want to provide a custom field to the control file of a built package, you may do so with the following format options:
custom_fields=(
"Banana: this is a valid field""My-Field: this is also a valid field""Third-One: even this is a valid field"
)
There are a few restrictions on field names:
The following cannot be used: Depends, Package, Version, Architecture, Section, Priority, Essential, Vcs-Git, Build-Depends, Build-Depends-Arch, Build-Conflicts, Build-Conflicts-Arch, Provides, Conflicts, Breaks, Enhances, Recommends, Suggests, Replaces, Homepage, License, Maintainer, Uploaders, Description, Installed-Size.
Numbers and spaces are not allowed.
The first letter must be capital, and all others must be lowercase.
Hyphens should be used for multiword fields, and follow the same capitalization rule for each word.
Hyphens cannot be the first or last character in the field name.
This array does not have enhanced options.
Pacscript for this releases Deb
pkgname="pacstall"
pkgver="5.2.0"
pkgdesc="An AUR-inspired package manager for UbuntuPacstall is the AUR Ubuntu wishes it had. It takes the concept of the AURand puts a spin on it, making it easier to install and update downstream programs,without scouring github repos and the likes."
url='https://pacstall.dev'
depends=(
'bash''curl''wget''git''unzip''zstd''tar''sensible-utils''iputils-ping''lsb-release''aptitude''bubblewrap''build-essential''jq''distro-info-data'
)
optdepends=(
"axel: faster file downloads""ninja-build: common building tool""meson: common building tool"
)
maintainer=(
"Pacstall Team <[email protected]>""Elsie19 <[email protected]>"
)
backup=('usr/share/pacstall/repo/pacstallrepo''usr/share/pacstall/update')
source=("https://github.com/pacstall/pacstall/archive/refs/tags/${pkgver}.zip")
prepare() {
cd"${pkgname}-${pkgver}"
mkdir -p "${pkgdir}/usr/bin/"
mkdir -p "${pkgdir}/usr/share/pacstall/scripts/"
mkdir -p "${pkgdir}/usr/share/pacstall/repo/"
mkdir -p "${pkgdir}/usr/share/man/man8/"
mkdir -p "${pkgdir}/usr/share/bash-completion/completions"
mkdir -p "${pkgdir}/usr/share/fish/vendor_completions.d"
mkdir -p "${pkgdir}/var/log/pacstall/error_log/"
mkdir -p "${pkgdir}/var/lib/pacstall/metadata/"
mkdir -p "${pkgdir}/var/cache/pacstall/"
mkdir -p "${pkgdir}/usr/src/pacstall/"
}
package() {
cd"${pkgname}-${pkgver}"
install -Dm755 pacstall "${pkgdir}/usr/bin/"
install -Dm755 "misc/scripts"/*"${pkgdir}/usr/share/pacstall/scripts/"
gzip -9n misc/pacstall.8
install "misc/pacstall.8.gz""${pkgdir}/usr/share/man/man8/"
install "misc/completion/fish""${pkgdir}/usr/share/fish/vendor_completions.d/pacstall.fish"
install "misc/completion/bash""${pkgdir}/usr/share/bash-completion/completions/pacstall"echo"https://raw.githubusercontent.com/pacstall/pacstall-programs/master"| tee "${pkgdir}/usr/share/pacstall/repo/pacstallrepo"> /dev/null
}
This discussion was created from the release 5.2.0 Slime.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Pacstall v5.2.0 Slime
This update is a quality of life update focusing on important bug fixes and adding requested features. Users can update from Pacstall 4.0.0 or higher with
pacstall -U pacstall:master
, or reinstall using the deb file.Developers, Developers, Developers...
Features
{enhances,recommends,{make,check}conflicts}(_enh_arrs)
,custom_fields
by @oklopfer (feat(*): provide morecontrol
fields #1134).SRCINFO
data for updates by @oklopfer (feat(srcinfo.sh): parse remote.SRCINFO
data over pacscripts #1136)Bug Fixes
source
arrays override instead of append for-deb
pkgs by @oklopfer (fix({fetch-sources,checks}.sh): override with enhanced source for-deb
pkgs #1131).deb
files properly to standard format by @oklopfer (fix(build.sh): name.deb
s correctly #1133){make,check}{depends,conflicts}
with-dummy-builddep
by @oklopfer (fix({fetch-sources,package}.sh): install builddeps as a dummy #1132)For the Pacscript Maintainers
How to use the new features
Remote
.SRCINFO
dataWe have now begun to integrate parsing of
.SRCINFO
data intopacstall
directly, meaning if you have a personalpacstall-programs
repository, it is now required for.SRCINFO
generation to be done in it. You can do so by using this script in the pacstall-programs repository:If the
.SRCINFO
file has already been added togit
, then future runs can keep the file maintained withpre-commit run --all-files
.Arch-style alternative architectures
To allow for easier porting of packages from the AUR, particularly ones using architecture enhanced arrays, we have introduced the option to use the naming scheme from Arch as an alternative to the Debian naming scheme we currently use. Additionally, a new variable
$AARCH
is available to all pacscripts. Below is the updated snippet for https://github.com/pacstall/pacstall/wiki/101.1-Variables#arch:amd64
/aarch64
arm64
/x86_64
armel
/arm
armhf
/armv7h
*i386
/i686
*mips64el
ppc64el
riscv64
s390x
Important
While both
$CARCH
and$AARCH
will always be accessible to a pacscript, only one naming scheme may be used in thearch
array. This means you cannot mix and match, likearch=('amd64' 'i686')
orarch=('arm64' 'aarch64')
. The naming scheme used will determine which enhanced arrays will be available.New control fields and custom fields
makeconflicts
This is an array used to declare packages that cannot be installed on the system at build-time, usually because of a package conflict with a build-time dependency.
This array can be enhanced by
$arch
and/or$DISTRO
.checkconflicts
This is an array used to declare packages that cannot be installed on the system for testing in the
check
function, usually because of a package conflict with a check dependency.This array can be enhanced by
$arch
and/or$DISTRO
.recommends
A list of packages that this package does not depend on, but may receive improved functionality from, and most users would want to have included with their install. For Debian's "Suggests" field, use
optdepends
. Packages marked "Recommends" have stronger weight than packages marked "Suggests" (optdepends
), but can still be opted out of, unlikedepends
.This array can be enhanced by
$arch
and/or$DISTRO
.enhances
A list of packages that this package can satisfy as a suggested package or recommended package. For instance, if the package
foobar
recommendsfoobar-extras
, infoobar-extras
you would have:enhances=("foobar")
This array can be enhanced by
$arch
and/or$DISTRO
.custom_fields
This is an optional list of Debian control fields not already used by Pacstall's variables. If you want to provide a custom field to the
control
file of a built package, you may do so with the following format options:There are a few restrictions on field names:
Depends
,Package
,Version
,Architecture
,Section
,Priority
,Essential
,Vcs-Git
,Build-Depends
,Build-Depends-Arch
,Build-Conflicts
,Build-Conflicts-Arch
,Provides
,Conflicts
,Breaks
,Enhances
,Recommends
,Suggests
,Replaces
,Homepage
,License
,Maintainer
,Uploaders
,Description
,Installed-Size
.This array does not have enhanced options.
Pacscript for this releases Deb
This discussion was created from the release 5.2.0 Slime.
Beta Was this translation helpful? Give feedback.
All reactions