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
{{ message }}
This repository was archived by the owner on Nov 16, 2023. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 16, 2023. It is now read-only.
dist: |
tar cjf {dist}/sage-{version}-{osname}-{arch}.tar.bz2 {path}
But can I use my own packaging utility instead of simply using tar?
Slackware uses makepkg:
DESCRIPTION
makepkg creates a new Slackware compatible package. The package is constructed using the contents of the current directory and all subdirectories. If symbolic links
exist, they will be converted to script code to recreate them when the package is installed. This code will be appended to the primary installation script (
install/doinst.sh ) , or, if that script does not exist it will be created with those contents. The package will be written out to the file packagename which should
be the full name, including the extension. This is usually .tgz, but .tbz, .tlz, and .txz are also accepted. The proper compression utility (gzip, bzip2, lzma, or
xz) needs to be installed on the machine.
It makes a special doinst.sh script for dealing with symlinks, etc. It can even take an "onlyonce script," which sounds like what relocate-once.py is. How could I put relocate-once.py in the proper place of the package?
Presumably the slackware packages are not relocatable, right? The easiest solution is probably to just install the binary (including running relocate-once.py) and then pack it up.
It builds everything in /tmp/sage-7.6, copies to /tmp/package-sage (analogous to binary-pkg's dist directory) with the proper directory structure, and packages it from there. When you install the Slackware package, it will put SAGE in /opt/sage. However, the paths aren't properly rewritten; the binaries in /opt/sage think the install directory is /tmp/package-sage.
Activity
vbraun commentedon Jun 4, 2017
Presumably the slackware packages are not relocatable, right? The easiest solution is probably to just install the binary (including running relocate-once.py) and then pack it up.
Geremia commentedon Jun 5, 2017
@vbraun See this script for how SAGE is currently packaged on Slackware: https://slackbuilds.org/slackbuilds/14.2/academic/sage/sage.SlackBuild
It builds everything in
/tmp/sage-7.6, copies to/tmp/package-sage(analogous tobinary-pkg'sdistdirectory) with the proper directory structure, and packages it from there. When you install the Slackware package, it will put SAGE in/opt/sage. However, the paths aren't properly rewritten; the binaries in/opt/sagethink the install directory is/tmp/package-sage.