3.0.0 Breaking Changes #1599
Closed
wizard-28
announced in
Announcements
Replies: 1 comment 3 replies
-
These are the packages that use symlinking commands |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Breaking changes
What is happening
Pacstall will be releasing v3.0.0 Cobalt soon. We follow Semantic Versioning, and as such, the change from
2.0.1
->3.0.0
means that breaking changes have been introduced.How is this happening
pacstall/pacstall#636 switches the package installation procedure from stowing to making native Debs, which is a long overdue change that we finally have gotten around to fixing.
What does this break for...
Pacscript developers
This means that packages containing symlinking commands such as
ln
now cannot be run insideprepare
,build
, orinstall
. The only function that they should be used in ispostinst
, as the package contents will be unpacked beforeposinst
is run, and they should be unlinked inremovescript
. Additionally,-deb
pacscripts should include thegives
variable, which should be assigned to the actual package name (IE:vscodium-deb
should havegives="codium"
). Also, you must make sure that yourdepends
andbuild_depends
are correct, and that packages are not mixed between them, because nowbuild_depends
will install first, anddepends
will install during the Deb installation, meaning if you currently have packages that should be inbuild_depends
, but are independs
, they will not work.Pacstall users
If you update/reinstall your packages after upgrading to
3.0.0
, they will be reinstalled as a deb. You, as the end user should not see any major differences in the way you use Pacstall, but if you see anything strange or broken, please create an issue here.What are we doing, and what should you do
Pacscript maintainers should test all their packages in a docker running the develop branch just to make sure their packages work, along with helping us find bugs. Pacstall devs will also be checking scripts at random during this time as well. We may create PRs that refactor your scripts to move around symlinking commands to places that will work on 3.0.0. They will continue to work on current versions as well.
Additional information
Until release, the
develop
branch should be considered unstable, with bugfixes being introduced quickly. Please look here for PRs that may fix issues you encounter, along with this mega-PR that we are actively updating during this time.When transitioning to symlinking in
postinst
, you must remember that the package has already been installed, meaning that you should not be using variables such asSTOWDIR
orpkgdir
. Here is an example:Additionally, because we are moving away from using Stow, the
STOWDIR
variable that is used in almost all scripts is a misnomer. You are free to continue using it in packages, or you can switch to the already existingpkgdir
variable which is the full path to the installation directory ($STOWDIR/$name
). It is not likely to be deprecated, as the variable has been around since the beginning of Pacstall.CC: @pacstall/pacscript-maintainers
Beta Was this translation helpful? Give feedback.
All reactions