My local "third party" slackbuilds repository
Posted: 13. Aug 2012, 14:15
Hi all,
I'm running my own local repository hosted on SalixOS. Here is a small instruction how to use it:
1. Add http://people.salixos.org/knedlyk/slackbuilds/ to the sourcery repo list or to the slapt-src config file.
2. Update packages in sourcery or "slapt-src --update" in terminal.
3. Packages list is there: http://people.salixos.org/knedlyk/slack ... BUILDS.TXT
Please let me know if something is wrong with building of the packages.
For those interesting I want to share my scripts.
File genrepo.sh is used to make proper SLACKBUILDS.TXT and SLACKBUILDS.TXT.gz (taken from Italian forum http://www.slacky.eu/forum/viewtopic.ph ... 7&start=45)
For slackbuilds creation I use mksb script from http://beej.us/slackware/mksb/ . It creates template with all needed files (package.info, README, slack-desc, etc). Remember, you must carefully review these files.
Then, all that you need is to run genrepo.sh script and upload all stuff to the server.
I'm running my own local repository hosted on SalixOS. Here is a small instruction how to use it:
1. Add http://people.salixos.org/knedlyk/slackbuilds/ to the sourcery repo list or to the slapt-src config file.
2. Update packages in sourcery or "slapt-src --update" in terminal.
3. Packages list is there: http://people.salixos.org/knedlyk/slack ... BUILDS.TXT
Please let me know if something is wrong with building of the packages.
For those interesting I want to share my scripts.
File genrepo.sh is used to make proper SLACKBUILDS.TXT and SLACKBUILDS.TXT.gz (taken from Italian forum http://www.slacky.eu/forum/viewtopic.ph ... 7&start=45)
Code: Select all
#!/bin/bash
set -e
cd ./slackbuilds
for sb in $(find . -name '*.SlackBuild' | sort)
do
name=$(basename $sb | sed -re 's/\.SlackBuild$//')
location=$(dirname $sb)
if [ -f $location/$name.info ]; then
echo "SLACKBUILD NAME: $name"
echo "SLACKBUILD LOCATION: $location"
files=$(cd $location && find . -type f -printf '%P\n' | sort | xargs)
echo "SLACKBUILD FILES: $files"
# remove those pesky multi line listings for each interesting field
TMP=$(mktemp)
sed ':a;N;$!ba;s/\\\n*\s*//g' $location/$name.info > $TMP
DOWNLOAD=$(grep ^DOWNLOAD= $TMP | cut -f2 -d\" )
DOWNLOAD_x86_64=$(grep ^DOWNLOAD_x86_64= $TMP | cut -f2 -d\" )
MD5SUM=$(grep ^MD5SUM= $TMP | cut -f2 -d\" )
MD5SUM_x86_64=$(grep ^MD5SUM_x86_64= $TMP | cut -f2 -d\" )
REQUIRES=$(grep ^REQUIRES= $TMP | cut -f2 -d\" )
VERSION=$(grep ^VERSION= $TMP | cut -f2 -d\" )
echo "SLACKBUILD VERSION: $VERSION"
echo "SLACKBUILD DOWNLOAD: $DOWNLOAD"
echo "SLACKBUILD DOWNLOAD_x86_64: $DOWNLOAD_x86_64"
echo "SLACKBUILD MD5SUM: $MD5SUM"
echo "SLACKBUILD MD5SUM_x86_64: $MD5SUM_x86_64"
echo "SLACKBUILD REQUIRES: $REQUIRES"
if [ -f $location/slack-desc ]; then
SHORTDESC=$(grep ^$name: $location/slack-desc | head -n 1 | sed -re "s/^$name://")
echo "SLACKBUILD SHORT DESCRIPTION: $SHORTDESC"
else
echo "SLACKBUILD SHORT DESCRIPTION: "
fi
echo
rm -f $TMP
fi
done > SLACKBUILDS.TXT
gzip -9 SLACKBUILDS.TXT -c > SLACKBUILDS.TXT.gz
# END
Then, all that you need is to run genrepo.sh script and upload all stuff to the server.