Page 1 of 1

My local "third party" slackbuilds repository

Posted: 13. Aug 2012, 14:15
by knedlyk
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)

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
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.