this is obsolete doc -- see http://doc.nethence.com/ instead
pkgsrc on Slackware Linux
http://pbraun.nethence.com/doc/sysutils_linux/slackware.html
http://pbraun.nethence.com/doc/sysutils_linux/slackware_pkgsrc.html
http://pbraun.nethence.com/doc/sysutils_linux/slackware_slackinst.html
(FR) http://pbraun.nethence.com/doc/sysutils_linux/slackware_dedibox.html
http://pbraun.nethence.com/doc/sysutils_bsd/pkgsrc.html
http://pbraun.nethence.com/doc/sysutils_linux/slackware_pkgsrc.html
Preparation
We used to have a list the required minimum packages to run pkgsrc, but we gave up on it. Simply make sure you've got the,
A
AP
D
L
N
sets mandatory (ADD) and recommended (REC) packages installed.
Note. to install mandatory and recommended packages from a whole set or several sets you can use the installset.ksh script,
mkdir -p ~/bin
cd ~/bin
wget http://pbraun.nethence.com/code/sysutils/slack/searchpkg.ksh
wget http://pbraun.nethence.com/code/sysutils/slack/installpkg.ksh
wget http://pbraun.nethence.com/code/sysutils/slack/installset.ksh
chmod +x checkpkg.ksh
chmod +x installpkg.ksh
chmod +x installset.ksh
Bootstrapping pkgsrc
Get pkgsrc-current (http://www.netbsd.org/docs/software/packages.html ==> bottom right link) and extract it,
cd /usr
wget ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.gz
#rm -rf /usr/pkgsrc
tar xzf pkgsrc.tar.gz
We need to fix bmake compilation settings so it uses uname -m, not uname -p,
cd /usr/pkgsrc/devel/bmake
files=`grep -r 'uname -p' * | grep -v ChangeLog | cut -f1 -d: | uniq`
for file in $files; do
[[ -f $file.dist ]] || cp $file $file.dist
sed 's/uname -p/uname -m/g' $file.dist > $file
done
grep -r 'uname -p' * | grep -v ChangeLog
Boostrap pkgsrc,
cd /usr/pkgsrc/bootstrap
#rm -rf work
# note. this may take a while,
./bootstrap
Adapt your environment,
cd ~/
vi .bashrc
add,
PATH=$PATH:/usr/pkg/sbin:/usr/pkg/bin
MANPATH=$MANPATH:/usr/pkg/man
apply,
source .bashrc
Pkgsrc configuration
Eventually update the vulnerability list and audit the packages regulary,
cd /etc/cron.daily
cat > auditpkg <<EOF9
#!/bin/ksh
/usr/pkg/sbin/pkg_admin fetch-pkg-vulnerabilities >/dev/null 2>&1
/usr/pkg/sbin/pkg_admin audit
EOF9
chmod +x auditpkg
do it once for testing,
ls -l /var/db/pkg/pkg-vulnerabilities
./auditpkg
ls -l /var/db/pkg/pkg-vulnerabilities
Configure pkgsrc,
cd /etc
ln -s /usr/pkg/etc/mk.conf
ln -s /usr/pkg/etc/pkg_install.conf
ln -s /usr/pkg/etc/audit-packages.conf
vi mk.conf
add/adapt those variables accordinly,
MASTER_SITE_SOURCEFORGE=freefr.dl.sourceforge.net \
ovh.dl.sourceforge.net/sourceforge \
heanet.dl.sourceforge.net/sourceforge/ \
belnet.dl.sourceforge.net/sourceforge/
USA_RESIDENT=NO
PASSIVE_FETCH=YES
#not on slackware PKG_RCD_SCRIPTS=YES
#ALLOW_VULNERABLE_PACKAGES=YES
#ACCEPTABLE_LICENSES+=pine-license
#ACCEPTABLE_LICENSES+=lame-license
#ACCEPTABLE_LICENSES+=majordomo-license
#X11BASE=/usr/pkg/X11R6
also define your prefered mirror for daily vulnerability list download,
# note. new file,
vi audit-packages.conf
like e.g.,
VUL_SOURCE="ftp: //ftp.fr.NetBSD.org/pub/NetBSD/packages/distfiles/pkg-vulnerabilities"
Ready to go
You can now use pkgsrc on Slackware Linux e.g.,
export PATH=/usr/pkg/bin:/usr/pkg/sbin:$PATH
cd /usr/pkgsrc/sysutils/pwgen
bmake package
pkg_info
ls -l /usr/pkgsrc/packages/All
cd ~/
source ~/.bashrc
note the 'b' for NetBSD make.
note. putting /usr/pkg/{bin,sbin} at the beginning of the path before starting
note. putting /usr/pkg/{bin,sbin} back at the end of the path once finished
References
http://www.netbsd.org/docs/software/packages.html
ftp://ftp.netbsd.org/pub/pkgsrc/