Add build for cpan-modules.

This commit is contained in:
Darren 'Tadgy' Austin 2022-09-07 14:00:18 +01:00
commit 10547c188a
9 changed files with 909 additions and 0 deletions

View file

@ -0,0 +1,71 @@
$CPAN::Config = {
'allow_installing_module_downgrades' => q[no],
'allow_installing_outdated_dists' => q[yes],
'applypatch' => q[],
'auto_commit' => q[0],
'build_cache' => q[250],
'build_dir' => q[%WORKINGDIR%/build],
'build_dir_reuse' => q[0],
'build_requires_install_policy' => q[yes],
'bzip2' => q[/usr/bin/bzip2],
'cache_metadata' => q[1],
'check_sigs' => q[0],
'cleanup_after_install' => q[1],
'colorize_output' => q[0],
'commandnumber_in_prompt' => q[1],
'connect_to_internet_ok' => q[1],
'cpan_home' => q[%WORKINGDIR%],
'ftp_passive' => q[1],
'ftp_proxy' => q[],
'getcwd' => q[cwd],
'gpg' => q[/usr/bin/gpg],
'gzip' => q[/usr/bin/gzip],
'halt_on_failure' => q[1],
'histfile' => q[],
'http_proxy' => q[],
'inactivity_timeout' => q[0],
'index_expire' => q[1],
'inhibit_startup_message' => q[0],
'keep_source_where' => q[%WORKINGDIR%/sources],
'load_module_verbosity' => q[v],
'make' => q[/usr/bin/make],
'make_arg' => q[-j %NUMJOBS% %MAKEFLAGS%],
'make_install_arg' => q[-j %NUMJOBS% %MAKEFLAGS%],
'make_install_make_command' => q[/usr/bin/make],
'makepl_arg' => q[%CC% %CXX%],
'mbuild_arg' => q[],
'mbuild_install_arg' => q[],
'mbuild_install_build_command' => q[./Build],
'mbuildpl_arg' => q[],
'no_proxy' => q[],
'pager' => q[/usr/bin/less],
'patch' => q[/usr/bin/patch],
'perl5lib_verbosity' => q[v],
'prefer_external_tar' => q[1],
'prefer_installer' => q[MB],
'prefs_dir' => q[%WORKINGDIR%/prefs],
'prerequisites_policy' => q[follow],
'recommends_policy' => q[1],
'scan_cache' => q[never],
'shell' => q[/bin/bash],
'show_unparsable_versions' => q[1],
'show_upload_date' => q[1],
'show_zero_versions' => q[1],
'suggests_policy' => q[0],
'tar' => q[/usr/bin/tar],
'tar_verbosity' => q[none],
'term_is_latin' => q[0],
'term_ornaments' => q[1],
'test_report' => q[0],
'trust_test_report_history' => q[0],
'unzip' => q[/usr/bin/unzip],
'urllist' => [q[http://www.cpan.org/]],
'use_prompt_default' => q[0],
'use_sqlite' => q[0],
'version_timeout' => q[15],
'wget' => q[/usr/bin/wget],
'yaml_load_code' => q[0],
'yaml_module' => q[YAML],
};
1;
__END__

View file

@ -0,0 +1,2 @@
spamassassin (custom)
mj2 (custom)

View file

@ -0,0 +1,344 @@
#!/bin/bash
# Version: 0.6.3
# Copyright (c) 2005-2022:
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
# Licensed under the terms of the GNU General Public License version 3.
########################################################################
# None of this section requires editing. #
# Scroll down to the "Begin section that will require editing" marker. #
########################################################################
# Silence shellcheck.
# shellcheck disable=SC2015,SC2174
# Functions.
check_installed() {
# $1 = The package name to check is installed.
[[ -z "$1" ]] && return 1
printf "%s\\n" /var/lib/pkgtools/packages/* | grep -P "^/var/lib/pkgtools/packages/\Q$1\E-([^-]*)-([^-]*)-([^-]*)$" >/dev/null 2>&1
return $?
}
die() {
# $1 = The message to write to stderr on exit.
printf "\\033[1;31;40m%s: %s\\033[0;39m\\n" "${0##*/}" "${1:-Abort}" >&2
exit 1
}
# Make sure to be in the build directory.
# shellcheck disable=SC2164
cd "$(cd "${BASH_SOURCE[0]%/*}"; pwd -P)"
# Read global buildconf settings.
# shellcheck disable=SC1091
[[ -e ../buildconf ]] && {
. ../buildconf 2>/dev/null || die "Error sourcing global buildconf"
}
# Package specific buildconf settings.
# shellcheck disable=SC2015,SC1090
[[ -e "./$(basename "${BASH_SOURCE[0]}" .SlackBuild).buildconf" ]] && . "./$(basename "${BASH_SOURCE[0]}" .SlackBuild).buildconf" 2>/dev/null || \
die "Error sourcing package buildconf"
# Package storage path.
# Be safe and leave it in /tmp by default (can be overridden).
# shellcheck disable=SC2016
[[ -z "$PKG_STORE" ]] && PKG_STORE='/tmp/pkg-store/$DIST_OS_ID-$DIST_OS_VERSION_ID'
# Parse command line options.
while (( $# > 0 )); do
if [[ "$1" =~ ^-(-)?f(orce)?$ ]]; then
BUILD_FORCE=1
elif [[ "$1" =~ ^-(-)?n(o-cleanup)?$ ]]; then
BUILD_CLEANUP=0
elif [[ "$1" =~ ^-(-)?v(ersion)?$ ]]; then
printf "%s=\"%s\"\\n" "NAME" "$PKG_NAME"
printf "%s=\"%s\"\\n" "VERSION" "$PKG_VERSION"
printf "%s=\"%s\"\\n" "BUILD" "$PKG_BUILD$PKG_TAG"
exit 0
else
printf "%s: %s: %s\\n" "${0##*/}" "Invalid option" "$1" >&2
printf "%s: %s %s\\n" "Usage" "${0##*/}" "[[-f|--force]|[-n|--no-cleanup]|[-v|--version]]" >&2
exit 1
fi
shift
done
# Pre-build checks.
(( ${BUILD_FORCE:-0} != 1 )) && {
while read -r PKG; do
check_installed "$PKG" && die "Conflicting package installed: $PKG"
done < <(printf "%s\\n" "${BUILD_CONFLICTS[@]}")
while read -r PKG; do
check_installed "$PKG" || die "Required package not installed: $PKG"
done < <(printf "%s\\n" "${BUILD_REQUIRES[@]}")
}
# Gather some system information.
# shellcheck disable=SC2046
declare DIST_OS_$(grep "^ID=" /etc/os-release)
# shellcheck disable=SC2046
declare DIST_OS_$(grep "^VERSION_ID=" /etc/os-release)
# Try to detect a 'current' build environment.
# shellcheck disable=SC2046
declare DIST_OS_$(grep "^VERSION_CODENAME=" /etc/os-release)
[[ "$DIST_OS_VERSION_CODENAME" == "current" ]] && DIST_OS_VERSION_ID="current"
unset DIST_OS_VERSION_CODENAME
# Build environment.
BUILD_WORKDIR="${BUILD_WORKDIR:-/tmp/pkg-build}"
BUILD_ROOT="$BUILD_WORKDIR/pkg-$PKG_NAME"
BUILD_PREFIX="${BUILD_PREFIX:-/opt}"
BUILD_ALTCC="${BUILD_ALTCC:-}"
BUILD_ALTCXX="${BUILD_ALTCXX:-}"
BUILD_NUMJOBS="${BUILD_NUMJOBS:-7}"
case "${BUILD_ARCH:=$(uname -m)}" in
i[45]86)
BUILD_CFLAGS="${BUILD_CFLAGS:--march="$BUILD_ARCH" -mtune=i586 -O2}"
BUILD_CXXFLAGS="${BUILD_CXXFLAGS:-$BUILD_CFLAGS}"
BUILD_LDFLAGS="${BUILD_LDFLAGS:-}"
BUILD_MAKEFLAGS=( "${BUILD_MAKEFLAGS[@]}" )
PKG_ARCH="${PKG_ARCH:-$BUILD_ARCH}"
;;
i686)
BUILD_CFLAGS="${BUILD_CFLAGS:--march="$BUILD_ARCH" -mtune=pentium4 -O2}"
BUILD_CXXFLAGS="${BUILD_CXXFLAGS:-$BUILD_CFLAGS}"
BUILD_LDFLAGS="${BUILD_LDFLAGS:-}"
BUILD_MAKEFLAGS=( "${BUILD_MAKEFLAGS[@]}" )
PKG_ARCH="${PKG_ARCH:-$BUILD_ARCH}"
;;
x86_64|x86-64)
DIST_OS_ID="slackware64"
BUILD_CFLAGS="${BUILD_CFLAGS:--march=x86-64-v2 -mtune=ivybridge -O2 -fPIC -Doff64_t=off_t}"
BUILD_CXXFLAGS="${BUILD_CXXFLAGS:-$BUILD_CFLAGS}"
BUILD_LDFLAGS="${BUILD_LDFLAGS:-}"
BUILD_MAKEFLAGS=( "${BUILD_MAKEFLAGS[@]}" )
BUILD_LIBDIRSUFFIX="64"
PKG_ARCH="${PKG_ARCH:-x86_64}"
;;
aarch64)
DIST_OS_ID="slackwareaarch64"
BUILD_CFLAGS="${BUILD_CFLAGS:-O2 -fPIC}"
BUILD_CXXFLAGS="${BUILD_CXXFLAGS:-$BUILD_CFLAGS}"
BUILD_LDFLAGS="${BUILD_LDFLAGS:-}"
BUILD_MAKEFLAGS=( "${BUILD_MAKEFLAGS[@]}" )
BUILD_LIBDIRSUFFIX="64"
PKG_ARCH="${PKG_ARCH:-aarch64}"
;;
arm*)
DIST_OS_ID="slackwarearm"
BUILD_CFLAGS="${BUILD_CFLAGS:-O2}"
BUILD_CXXFLAGS="${BUILD_CXXFLAGS:-$BUILD_CFLAGS}"
BUILD_LDFLAGS="${BUILD_LDFLAGS:-}"
BUILD_MAKEFLAGS=( "${BUILD_MAKEFLAGS[@]}" )
PKG_ARCH="${PKG_ARCH:-arm}"
;;
*)
die "Unsupported build architecture: $BUILD_ARCH"
;;
esac
# Now all possible changes to variables in PKG_STORE are complete, expand out the embedded variables.
eval "$(declare -p PKG_STORE | sed -re 's/\\\$/$/g')"
# Sanity.
SRC_DIR="$(pwd)"
umask 0022
[[ ! -e "$BUILD_WORKDIR" ]] && { mkdir -p -m 750 "$BUILD_WORKDIR" || die "Failed to create working directory"; }
rm -rf "$BUILD_ROOT" && mkdir -m 755 "$BUILD_ROOT" || die "Failed to clear build root"
[[ -n "${SRC_DIRNAMES[*]}" ]] && { rm -rf "${SRC_DIRNAMES[@]/#/$BUILD_WORKDIR/}" || die "Failed to clear source directories"; }
# Get sources if they aren't downloaded already.
[[ -n "${SRC_DOWNLOADS[*]}" ]] && {
WGET="$(command -v wget)"
I=0
while read -r SRC; do
[[ ! -e "${SRC_FILENAMES[$I]}" ]] && {
[[ -z "$WGET" ]] && die "wget is required to download sources"
"$WGET" -t 3 -c -T 30 -w 5 --retry-connrefused --retry-on-host-error --no-check-certificate --passive-ftp -O "${SRC_FILENAMES[$I]}" "$SRC" || \
{ rm "${SRC_FILENAMES[$I]}"; die "Failed to download source file: $SRC"; }
}
[[ "$(md5sum "${SRC_FILENAMES[$I]}" | cut -d' ' -f1)" != "${SRC_MD5SUMS[$I]}" ]] && die "md5sum verification failed: ${SRC_FILENAMES[$I]}"
(( I++ ))
done < <(printf "%s\\n" "${SRC_DOWNLOADS[@]}")
}
# Unpack sources.
[[ -n "${SRC_FILENAMES[*]}" ]] && {
while read -r SRC; do
case "$SRC" in
*.tar.?z|*.t?z)
tar -xv -C "$BUILD_WORKDIR" -f "$SRC" || die "Failed to extract source: $SRC"
;;
*.zip|*.ZIP)
unzip -d "$BUILD_WORKDIR" "$SRC" || die "Failed to extract source: $SRC"
;;
*)
die "Un-handled source archive format: ${SRC##*.}"
;;
esac
done < <(printf "%s\\n" "${SRC_FILENAMES[@]}")
}
# Fix any weird permissions on sources.
[[ -n "${SRC_DIRNAMES[*]}" ]] && { chown -R root:root "${SRC_DIRNAMES[@]/#/$BUILD_WORKDIR/}" && chmod -R go-w "${SRC_DIRNAMES[@]/#/$BUILD_WORKDIR/}" || \
die "Failed to correct source directory permissions"; }
# Standard ./configure options.
CONFIGURE_OPTS=("${BUILD_ALTCC:+CC=\"$BUILD_ALTCC\"}" "${BUILD_ALTCXX:+CXX=\"$BUILD_ALTCXX\"}" "--prefix=\"$BUILD_PREFIX\""
"--libdir=\"$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX\"" "--sysconfdir=\"/etc/$PKG_NAME\"" "--localstatedir=/var" "--mandir=\"$BUILD_PREFIX/man\""
"--infodir=\"$BUILD_PREFIX/info\"" "--build=\"$PKG_ARCH-slackware-linux\"" "--enable-shared" "--disable-static")
# Use vendor_perl as site_perl doesn't seem to be in the default @INC in Slackware.
LOCATION="vendor"
# Make perl look in $BUILD_ROOT for modules.
export PERL5LIB="$BUILD_ROOT/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5/${LOCATION}_perl"
# Set up for the MakeMaker way of doing things.
# See: http://perldoc.perl.org/ExtUtils/MakeMaker.html
export PERL_MM_OPT="CCFLAGS=\"$BUILD_CFLAGS\" OPTIMIZE=\"\" DESTDIR=\"$BUILD_ROOT\" INSTALLDIRS=\"$LOCATION\" \
INSTALL${LOCATION^^}ARCH=\"$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5/${LOCATION}_perl\" INSTALL${LOCATION^^}BIN=\"$BUILD_PREFIX/bin\" \
INSTALL${LOCATION^^}LIB=\"$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5/${LOCATION}_perl\" INSTALL${LOCATION^^}MAN1DIR=\"$BUILD_PREFIX/man/man1\" \
INSTALL${LOCATION^^}MAN3DIR=\"$BUILD_PREFIX/man/man3\" INSTALL${LOCATION^^}SBIN=\"$BUILD_PREFIX/sbin\" INSTALL${LOCATION^^}SCRIPT=\"$BUILD_PREFIX/bin\""
# Set up for the Module::Build way of doing things.
# See: http://perldoc.perl.org/Module/Build.html
export PERL_MB_OPT="--config ccflags=\"$BUILD_CFLAGS\" --destdir \"$BUILD_ROOT\" --installdirs \"$LOCATION\" \
--install_path arch=\"$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5/${LOCATION}_perl\" --install_path bin=\"$BUILD_PREFIX/bin\" \
--install_path bindoc=\"$BUILD_PREFIX/man/man1\" --install_path lib=\"$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5/${LOCATION}_perl\" \
--install_path libdoc=\"$BUILD_PREFIX/man/man3\" --install_path sbin=\"$BUILD_PREFIX/sbin\" --install_path script=\"$BUILD_PREFIX/bin\""
# Create the working directory, and copy in the CPAN configuration.
[[ ! -e "$BUILD_WORKDIR/$PKG_NAME-$PKG_VERSION" ]] && { mkdir -p -m 755 "$BUILD_WORKDIR/$PKG_NAME-$PKG_VERSION" || die "Failed to create build directory"; }
sed -r -e "s:%CC%:${BUILD_ALTCC:+CC=\"$BUILD_ALTCC\"}:g" -e "s:%CXX%:${BUILD_ALTCXX:+CXX=\"$BUILD_ALTCXX\"}:g" \
-e "s:%WORKINGDIR%:$BUILD_WORKDIR/$PKG_NAME-$PKG_VERSION:g" -e "s/%NUMJOBS%/$BUILD_NUMJOBS/g" -e "s/%MAKEFLAGS%/${BUILD_MAKEFLAGS[*]}/g" \
<"$SRC_DIR/ModulesConfig.pm" >"$BUILD_WORKDIR/$PKG_NAME-$PKG_VERSION/ModulesConfig.pm" || die "Failed to copy ModulesConfig.pm into build directory"
# Process each of the sources.
for ((I = 0; I < ${#BUILD_PERL_MODULES[@]}; I++)); do
# Be in the source directory.
cd "$BUILD_WORKDIR/${SRC_DIRNAMES[$I]}" || die "Failed to change to source directory: $BUILD_WORKDIR/${SRC_DIRNAMES[$I]}"
############################################
# Begin section that will require editing. #
############################################
# Build each module.
if perl -M"${BUILD_PERL_MODULES[$I]}" -e0 >/dev/null 2>&1; then
printf "\\n\\033[1;32;40m%s\\n" "********************************************************************************"
printf "* %s: %s\\n" "Already Installed" "${BUILD_PERL_MODULES[$I]}"
printf "%s\\033[0;39m\\n" "********************************************************************************"
else
printf "\\n\\033[1;33;40m%s\\n" "********************************************************************************"
printf "* %s: %s\\n" "Building and installing" "${BUILD_PERL_MODULES[$I]}"
printf "%s\\033[0;39m\\n" "********************************************************************************"
cpan -j "$BUILD_WORKDIR/$PKG_NAME-$PKG_VERSION/ModulesConfig.pm" -fi "${BUILD_PERL_MODULES[$I]}" || die "Module build failed: ${BUILD_PERL_MODULES[$I]}"
fi
done
##################################################
# End of the only section that required editing. #
##################################################
# Set up for sed replacements.
SED_OPTS=("-e" "s:%BUILD_PREFIX%:$BUILD_PREFIX:g" "-e" "s:%BUILD_LIBDIR%:$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX:g" "-e" "s:%BUILD_ARCH%:$BUILD_ARCH:g"
"-e" "s:%DIST_OS_ID%:$DIST_OS_ID:g" "-e" "s:%DIST_OS_VERSION_ID%:$DIST_OS_VERSION_ID:g" "-e" "s:%PKG_NAME%:$PKG_NAME:g"
"-e" "s:%PKG_VERSION%:$PKG_VERSION:g" "-e" "s:%PKG_FILE_VERSION%:${PKG_VERSION//-/_}:g" "-e" "s:%PKG_ARCH%:$PKG_ARCH:g"
"-e" "s:%PKG_BUILD%:$PKG_BUILD:g" "-e" "s:%PKG_TAG%:${PKG_TAG//-/_}:g" "-e" "s:%PKG_EXT%:$PKG_EXT:g")
# Add extra configuration/scripts.
for DIR in cron.d cron.hourly cron.daily cron.weekly cron.monthly default logrotate.d profile.d rc.d; do
[[ -e "$SRC_DIR/$DIR" ]] && {
mkdir -p -m 755 "$BUILD_ROOT/etc/$DIR" || die "Failed to create directory: /etc/$DIR"
for FILE in "$SRC_DIR/$DIR"/*; do
sed -r "${SED_OPTS[@]}" <"$FILE" >"$BUILD_ROOT/etc/$DIR/${FILE##*/}" && chmod --reference="$FILE" "$BUILD_ROOT/etc/$DIR/${FILE##*/}" || \
die "Failed to copy $DIR/${FILE##*/} into package"
done
}
done
# Slackware packages don't ship with hardlinks (I don't know why...).
HARDLINKS="$(find "$BUILD_ROOT" -type f -links +1 | tr $'\n' ' ')"
[[ -n "$HARDLINKS" ]] && die "Found hardlinked files in package: $HARDLINKS"
# Strip binaries.
find "$BUILD_ROOT" -type f -exec file {} + | grep -E "ELF.*(executable|shared object)" | cut -d: -f1 | xargs -r strip --strip-unneeded || \
die "Failed to stip object files"
# Move man and info pages if required.
for DIR in "$BUILD_ROOT/$BUILD_PREFIX/share/man" "$BUILD_ROOT/usr/share/man" "$BUILD_ROOT/$BUILD_PREFIX/share/info" "$BUILD_ROOT/usr/share/info"; do
[[ -e "$DIR" ]] && {
mkdir -p -m 755 "$BUILD_ROOT/$BUILD_PREFIX/${DIR##*/}" || die "Failed to create $BUILD_PREFIX/${DIR##*/} directory"
mv "$DIR"/* "$BUILD_ROOT/$BUILD_PREFIX/${DIR##*/}" && rmdir "$DIR" || die "Failed to move $DIR to correct directory"
}
done
# Handle man pages.
[[ -e "$BUILD_ROOT/$BUILD_PREFIX/man" ]] && {
find "$BUILD_ROOT/$BUILD_PREFIX/man" -regextype posix-extended -type f -regex "^$BUILD_ROOT/$BUILD_PREFIX/man/([^/]*/)?man.*/.*\.[[:digit:]n]{1}[^.]*$" \
-exec gzip -9 {} + || die "Failed to compress man pages"
find "$BUILD_ROOT/$BUILD_PREFIX/man" -type l -printf 'if [[ -e "%h/%l.gz" ]]; then (cd "%h" && ln -sf "%l.gz" "%f.gz" && rm -f "%f") || \
die "Failed to fix symlink: %f"; else die "Dangling symlink: %p"; fi\n' | bash || die "Man pages' symlinks correction failed"
}
# Compress and fix info pages.
[[ -e "$BUILD_ROOT/$BUILD_PREFIX/info" ]] && {
rm -f "$BUILD_ROOT/$BUILD_PREFIX/info/dir"
find "$BUILD_ROOT/$BUILD_PREFIX/info" -regextype posix-extended -type f -regex "^$BUILD_ROOT/$BUILD_PREFIX/info/.*(\.info){1}(-[[:digit:]]+)?$" \
-exec gzip -9 {} + || die "Failed to compress info pages"
find "$BUILD_ROOT/$BUILD_PREFIX/info" -type l -printf 'if [[ -e "%h/%l.gz" ]]; then (cd "%h" && ln -sf "%l.gz" "%f.gz" && rm -f "%f") || \
die "Failed to fix symlink: %f"; else die "Dangling symlink: %p"; fi\n' | bash || die "Info pages' symlink correction failed"
}
# Fix paths for perl modules.
[[ -e "$BUILD_ROOT/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5" ]] && {
find "$BUILD_ROOT/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5" -name .packlist -exec sed -ri -e "s:^$BUILD_ROOT::g" \
-e "s:^($BUILD_PREFIX|/usr){1}/share:$BUILD_PREFIX:g" \
-e "s:^$BUILD_PREFIX/man/([^/]*/)?(man.*)/(.*)\.([[:digit:]n]){1}([^.])*$:$BUILD_PREFIX/man/\1\2/\3\.\4\5\.gz:g" \
-e "s:^$BUILD_PREFIX/info/(.*)(\.info){1}(-[[:digit:]]+)?$:$BUILD_PREFIX/info/\1\2\3.gz:g" {} + || die "Failed to modify incorrect perl paths"
find "$BUILD_ROOT" -name perllocal.pod -exec rm -f {} + # Should never fail
# Note: These will fail if $BUILD_ROOT == /usr, but are required to clean left over directories from perllocal.pod removal.
rmdir "$BUILD_ROOT/usr/lib$BUILD_LIBDIRSUFFIX/perl5" 2>/dev/null # OK to fail
rmdir "$BUILD_ROOT/usr/lib$BUILD_LIBDIRSUFFIX" 2>/dev/null # OK to fail
rmdir "$BUILD_ROOT/usr" 2>/dev/null # OK to fail
}
# /opt/<package>{,-<version>} is a special case.
# Technically, the FHS requires everything in /opt to be contained in its own package directory,
# so - assuming this technicallity is in use - make symlinks into the standard /opt dirs.
[[ "$BUILD_PREFIX" =~ ^/opt/$PKG_NAME.* ]] && {
(cd "$BUILD_ROOT/opt" &&
for DIR in bin doc include info lib lib64 libexec man sbin share; do
[[ -e "${BUILD_PREFIX##*/}/$DIR" ]] && { mkdir -m 755 "$DIR" && (cd "$DIR" && lndir -silent "../${BUILD_PREFIX##*/}/$DIR)") || exit 1; }
done) || die "Failed to link /opt paths"
}
# Copy pkgtool special files into the package.
mkdir -m 755 "$BUILD_ROOT/install" || die "Failed to make /install directory"
for FILE in doinst.sh douninst.sh slack-{conflicts,desc,required,suggests}; do
[[ -e "$SRC_DIR/$FILE" ]] && {
sed -r -e '/(^#|^$|-handy-ruler-)/ d' "${SED_OPTS[@]}" <"$SRC_DIR/$FILE" >"$BUILD_ROOT/install/$FILE" || \
die "Failed to copy in pkgtool special file: $FILE"
}
done
# Build the package.
cd "$BUILD_ROOT" || die "Failed to cd to BUILD_ROOT to build package"
rm -f "$BUILD_WORKDIR/$PKG_NAME-${PKG_VERSION//-/_}-$PKG_ARCH-$PKG_BUILD${PKG_TAG//-/_}".*
makepkg -l y -p -c n --acls --xattrs "$BUILD_WORKDIR/$PKG_NAME-${PKG_VERSION//-/_}-$PKG_ARCH-$PKG_BUILD${PKG_TAG//-/_}.$PKG_EXT" || \
die "Package creation failed"
# Clean up after ourselves.
(( ${BUILD_CLEANUP:-1} == 1 )) && rm -rf "$BUILD_ROOT" "${SRC_DIRNAMES[@]/#/$BUILD_WORKDIR/}"
# Move package to the store.
mkdir -p -m 755 "$PKG_STORE" && mv --backup=numbered "$BUILD_WORKDIR/$PKG_NAME-${PKG_VERSION//-/_}-$PKG_ARCH-$PKG_BUILD${PKG_TAG//-/_}.$PKG_EXT" \
"$PKG_STORE" || die "Failed to move package to store - package left in $BUILD_WORKDIR"
printf "\\033[1;32;40m%s:\\n %s\\033[0;39m\\n" "Package built and moved to store" \
"$PKG_STORE/$PKG_NAME-${PKG_VERSION//-/_}-$PKG_ARCH-$PKG_BUILD${PKG_TAG//-/_}.$PKG_EXT"

View file

@ -0,0 +1,93 @@
# Package details.
PKG_NAME="$(basename "${BASH_SOURCE[0]}" .buildconf)"
PKG_VERSION="15.0_1"
PKG_BUILD="1"
PKG_TAG="${PKG_TAG:-_tadgy}"
PKG_EXT="${PKG_EXT:-txz}"
# Sources - the details in these arrays must all match per indicies.
SRC_DOWNLOADS=()
SRC_MD5SUMS=()
SRC_FILENAMES=()
SRC_DIRNAMES=()
# Build configuration.
BUILD_REQUIRES=("perl" "openssl" "db48")
BUILD_CONFLICTS=("$PKG_NAME")
# The perl modules to build.
BUILD_PERL_MODULES=(
######################
# SpamAssassin #
# Updated for v3.4.6 #
######################
# Required #
Socket6
Digest::SHA1
HTML::Parser
Net::DNS
NetAddr::IP
Time::HiRes
LWP
HTTP::Date
IO::Zlib
Text::Diff # Optional add-on for Archive::Tar
Archive::Tar
# Optional #
MIME::Base64
DB_File
Net::SMTP
Mail::SPF
# Geo::IP # Functionallity not required.
# Net::Ident # Functionallity not required.
IO::Socket::INET6 # Requires Socket6, installed specially in SlackBuild.
IO::Socket::SSL
Compress::Zlib
Mail::DKIM
DBI
Encode::Detect
# Apache::Test # Functionallity not required.
Net::CIDR::Lite # Not listed in docs, but shows as missing during build.
# Net::Patricia # Not listed in docs, but shows as missing during build. Functionallity not required.
BSD::Resource # Not listed in docs, but shows as missing during build.
########################
# Majordomo2 #
# Updated for 20160404 #
########################
# Required #
Mail::Internet
Mail::Header
MIME::Base64
IO::Wrap
MIME::Tools
Data::Dumper
Date::Manip
CGI
Digest::SHA1
Socket
IO::File
IO::Handle
Date::Format
Date::Parse
DirHandle
Safe
POSIX
Net::Domain
File::Basename
File::Copy
Fcntl
Carp
Time::Local
HTML::FormatText
HTML::TreeBuilder
# Optional #
Time::HiRes
Term::ReadLine::Gnu # Or Term::ReadLine::Perl, but mod reqired user input to build
Text::Reflow
# DB_File # Functionallity not required.
# DBI # Functionallity not required.
# DBD::Pg # Functionallity not required.
# DBD::mysql # Functionallity not required.
)

View file

@ -0,0 +1,273 @@
#!/bin/bash
# Version: 0.5.7
# Copyright (c) 2005-2017:
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
# Licensed under the terms of the GNU General Public License version 3.
#
# Built package details.
PKG_NAME="cpan-modules"
PKG_VERSION="0.9.1"
PKG_BUILD="1"
PKG_TAG="_tadgy"
PKG_EXT="txz"
# Packages which must be installed to build.
BUILD_REQUIRED="perl openssl db48"
# Packages which must not be installed to build.
BUILD_CONFLICTS="$PKG_NAME"
#........1.........2.........3.........4.........5.........6.........7.........8.........9.........0.........1.........2.........3.....:...4
cd "$(cd "${BASH_SOURCE%/*}"; pwd -P)"
while [[ $# -gt 0 ]]; do
if [[ "$1" =~ ^-(-)?(f|force)$ ]]; then
BUILD_FORCE=1
elif [[ "$1" =~ ^-(-)?(n|no-cleanup)$ ]]; then
BUILD_NOCLEANUP=1
elif [[ "$1" =~ ^-(-)?(v|version)$ ]]; then
echo "NAME=\"$PKG_NAME\""
echo "VERSION=\"$PKG_VERSION\""
echo "BUILD=\"$PKG_BUILD$PKG_TAG\""
exit 0
else
echo "Usage: ${0##*/} [[-f|--force]|[-n|--no-cleanup]|[-v|--version]]"; exit 1
fi
shift
done
if (( "${BUILD_FORCE:-0}" != 1 )); then
check_installed() {
ls -1 /var/log/packages | grep -P "^\Q$1\E-([^-]*)-([^-]*)-([^-]*)$" >/dev/null 2>&1
return $?
}
for PKG in $BUILD_CONFLICTS; do
if check_installed "$PKG"; then
echo -e "\\033[1;31m${0##*/}: Conflicting package '$PKG' installed.\\033[0;39m"; exit 1
fi
done
for PKG in $BUILD_REQUIRED; do
if ! check_installed "$PKG"; then
echo -e "\\033[1;31m${0##*/}: Required package '$PKG' not installed.\\033[0;39m"; exit 1
fi
done
fi
declare BUILD_OS_$(grep "^ID=" /etc/os-release)
declare BUILD_OS_$(grep "^VERSION_ID=" /etc/os-release)
BUILD_WORKDIR="/tmp/pkg-build"
BUILD_ROOT="$BUILD_WORKDIR/$PKG_NAME"
BUILD_PREFIX="/opt"
BUILD_MAKEFLAGS="-j5"
case "${BUILD_ARCH:=$(uname -m)}" in
i[45]86)
BUILD_CFLAGS="-march=$BUILD_ARCH -mtune=i686 -O2"
PKG_ARCH="$BUILD_ARCH"
;;
i686)
BUILD_CFLAGS="-march=$BUILD_ARCH -mtune=pentium4 -O2"
PKG_ARCH="$BUILD_ARCH"
;;
x86_64|x86-64)
BUILD_CFLAGS="-march=x86-64 -mtune=core2 -O2 -fPIC"
BUILD_LIBDIRSUFFIX="64"
PKG_ARCH="x86_64"
;;
*)
echo -e "\\033[1;31m${0##*/}: $(uname -m): unsupported architecture.\\033[0;39m"; exit 1
;;
esac
PKG_STORE="/tmp/pkg-store/$BUILD_OS_ID$BUILD_LIBDIRSUFFIX-$BUILD_OS_VERSION_ID"
[[ -e /data/slackware/repo/source/build.options ]] && {
. /data/slackware/repo/source/build.options || exit 1
}
SRC_DIR="$(pwd)"
umask 0022 &&
rm -rf "$BUILD_ROOT" &&
mkdir -p -m 750 "$BUILD_WORKDIR" &&
mkdir -m 755 "$BUILD_ROOT" || exit 1
shopt -s extglob
# Force a prefix of /usr - otherwise scripts which are launched from within daemons
# don't get PERL5LIB set and can't find modules.
BUILD_PREFIX="/usr"
# Use vendor_perl as site_perl doesn't seem to be in the default @INC in Slackware.
BUILD_PERLLOC="vendor"
export PERL5LIB="$BUILD_ROOT/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5/${BUILD_PERLLOC}_perl"
# Special case: Socket6.
# This build fails when CCFLAGS is set to any value.
echo -e "\n\n\\033[1;32m***\n\\033[1;32m* Installing: Socket6 \n\\033[1;32m***\\033[0;39m" &&
PERL_MM_OPT="DESTDIR=\"$BUILD_ROOT\" INSTALLDIRS=\"$BUILD_PERLLOC\" \
INSTALL${BUILD_PERLLOC^^}ARCH=\"$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5/${BUILD_PERLLOC}_perl\" \
INSTALL${BUILD_PERLLOC^^}BIN=\"$BUILD_PREFIX/bin\" \
INSTALL${BUILD_PERLLOC^^}LIB=\"$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5/${BUILD_PERLLOC}_perl\" \
INSTALL${BUILD_PERLLOC^^}MAN1DIR=\"$BUILD_PREFIX/man/man1\" \
INSTALL${BUILD_PERLLOC^^}MAN3DIR=\"$BUILD_PREFIX/man/man3\" \
INSTALL${BUILD_PERLLOC^^}SCRIPT=\"$BUILD_PREFIX/bin\"" \
perl -MCPAN -e 'shell' <<EOF || exit 1
o conf build_requires_install_policy yes
o conf prerequisites_policy follow
o conf recommends_policy 1
o conf suggests_policy 0
o conf make_arg "$BUILD_MAKEFLAGS"
force install "Socket6"
EOF
# Set up for the MakeMaker way of doing things.
# See: http://perldoc.perl.org/ExtUtils/MakeMaker.html
export PERL_MM_OPT="CCFLAGS=\"$BUILD_CFLAGS\" OPTIMIZE=\"\" \
DESTDIR=\"$BUILD_ROOT\" \
INSTALLDIRS=\"$BUILD_PERLLOC\" \
INSTALL${BUILD_PERLLOC^^}ARCH=\"$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5/${BUILD_PERLLOC}_perl\" \
INSTALL${BUILD_PERLLOC^^}BIN=\"$BUILD_PREFIX/bin\" \
INSTALL${BUILD_PERLLOC^^}LIB=\"$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5/${BUILD_PERLLOC}_perl\" \
INSTALL${BUILD_PERLLOC^^}MAN1DIR=\"$BUILD_PREFIX/man/man1\" \
INSTALL${BUILD_PERLLOC^^}MAN3DIR=\"$BUILD_PREFIX/man/man3\" \
INSTALL${BUILD_PERLLOC^^}SCRIPT=\"$BUILD_PREFIX/bin\""
# Set up for the Module::Build way of doing things.
# See: http://perldoc.perl.org/Module/Build.html
# Note: sbin below is non-standard and used only by Mail:SPF at the moment.
export PERL_MB_OPT="--config ccflags=\"$BUILD_CFLAGS\" \
--destdir \"$BUILD_ROOT\" \
--installdirs \"$BUILD_PERLLOC\" \
--install_path arch=\"$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5/${BUILD_PERLLOC}_perl\" \
--install_path bin=\"$BUILD_PREFIX/bin\" \
--install_path bindoc=\"$BUILD_PREFIX/man/man1\" \
--install_path lib=\"$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5/${BUILD_PERLLOC}_perl\" \
--install_path libdoc=\"$BUILD_PREFIX/man/man3\" \
--install_path sbin=\"$BUILD_PREFIX/sbin\" \
--install_path script=\"$BUILD_PREFIX/bin\""
# Do the module installs.
IFS=$'\n'
for MOD in $(cat $SRC_DIR/modules.list | egrep -v '^[[:blank:]]*(#.*)*$'); do
MOD="${MOD%%*([[:space:]])#*}"
if [[ -z "$(perl -M$MOD -e0 2>&1)" ]]; then
echo -e "\n\n\\033[1;33m***\n\\033[1;33m* Skipping: $MOD - already installed\n\\033[1;33m***\\033[0;39m"
else
echo -e "\n\n\\033[1;32m***\n\\033[1;32m* Installing: Spcket6 \n\\033[1;32m***\\033[0;39m" &&
perl -MCPAN -e 'shell' <<EOF || exit 1
o conf build_requires_install_policy yes
o conf prerequisites_policy follow
o conf recommends_policy 1
o conf suggests_policy 0
o conf make_arg "$BUILD_MAKEFLAGS"
force install "$MOD"
EOF
fi
done
###############################################################################
# Nothing below this notice should be changed or removed without good reason! #
###############################################################################
HARDLINKS="$(find $BUILD_ROOT -type f -links +1)"
if [[ ! -z "$HARDLINKS" ]]; then
echo -e "\\033[1;31mFound hardlinked files:\\033[0;39m"
echo -e "\\033[1;31m$HARDLINKS\\033[0;39m"
exit 1
fi
find "$BUILD_ROOT" | xargs -r file | egrep "ELF.*(executable|shared object)" | cut -d: -f1 | xargs -r strip --strip-unneeded || exit 1
for DIR in "$BUILD_ROOT/$BUILD_PREFIX/share/man" "$BUILD_ROOT/usr/share/man" "$BUILD_ROOT/$BUILD_PREFIX/share/info" \
"$BUILD_ROOT/usr/share/info"
do
if [[ -e "$DIR" ]]; then
mkdir -p -m 755 "$BUILD_ROOT/$BUILD_PREFIX/${DIR##*/}" &&
cp -aR "$DIR/"* "$BUILD_ROOT/$BUILD_PREFIX/${DIR##*/}" &&
rm -rf "$DIR" || exit 1
fi
done
if [[ -e "$BUILD_ROOT/$BUILD_PREFIX/man" ]]; then
find "$BUILD_ROOT/$BUILD_PREFIX/man" -regextype posix-extended -type f -regex \
"^$BUILD_ROOT/$BUILD_PREFIX/man/([^/]*/)?(man.*)/(.*)\.([[:digit:]n]){1}([^.])*$" | xargs -r gzip -9 &&
find "$BUILD_ROOT/$BUILD_PREFIX/man" -type l -printf '
if [ -e "%h/%l.gz" ]; then
(cd "%h" && ln -sf "%l.gz" "%f.gz" && rm -f "%f") || exit 1
else
echo -e "\\033[1;31mDangling symlink: %p\\033[0;39m"; exit 1
fi\n' | bash -x || exit 1
fi
if [[ -e "$BUILD_ROOT/$BUILD_PREFIX/info" ]]; then
find "$BUILD_ROOT/$BUILD_PREFIX/info" -regextype posix-extended -type f -regex \
"^$BUILD_ROOT/$BUILD_PREFIX/info/(.*)(\.info){1}(-[[:digit:]]+)?$" | xargs -r gzip -9 &&
rm -f "$BUILD_ROOT/$BUILD_PREFIX/info/dir" &&
find "$BUILD_ROOT/$BUILD_PREFIX/info" -type l -printf '
if [ -e "%h/%l.gz" ]; then
(cd "%h" && ln -sf "%l.gz" "%f.gz" && rm -f "%f") || exit 1
else
echo -e "\\033[1;31mDangling symlink: %p\\033[0;39m"; exit 1
fi\n' | bash -x || exit 1
fi
if [[ -e "$BUILD_ROOT/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5" ]]; then
find "$BUILD_ROOT/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5" -name .packlist | xargs -r -I{} sed -ri {} -e "s:^$BUILD_ROOT::g" \
-e "s:^($BUILD_PREFIX|usr){1}/share:$BUILD_PREFIX:g" \
-e "s:^$BUILD_PREFIX/man/([^/]*/)?(man.*)/(.*)\.([[:digit:]n]){1}([^.])*$:$BUILD_PREFIX/man/\1\2/\3\.\4\5\.gz:g" \
-e "s:^$BUILD_PREFIX/info/dir::g" \
-e "s:^$BUILD_PREFIX/info/(.*)(\.info){1}(-[[:digit:]]+)?$:$BUILD_PREFIX/info/\1\2\3.gz:g" &&
find "$BUILD_ROOT" -name perllocal.pod | xargs -r rm || exit 1
# Note: These will fail if $BUILD_ROOT == /usr, but are required to clean up left over directories from perllocal.pod removal.
rmdir $BUILD_ROOT/usr/lib$BUILD_LIBDIRSUFFIX/perl5 # OK to fail
rmdir $BUILD_ROOT/usr/lib$BUILD_LIBDIRSUFFIX # OK to fail
rmdir $BUILD_ROOT/usr # OK to fail
fi
if [[ "$BUILD_PREFIX" =~ ^/opt/($PKG_NAME|$SRCFILE_NAME|$SRCDIR_NAME).* ]]; then
# /opt/<package> is a special case. Because the FHS requires everything to be
# contained in their own directory, make symlinks into the standard /opt dirs.
( cd "$BUILD_ROOT/opt" &&
for DIR in bin include info lib lib64 man sbin share; do
if [ -e "${BUILD_PREFIX##*/}/$DIR" ]; then
mkdir -m 755 "$DIR" &&
(cd "$DIR" && lndir -silent "../${BUILD_PREFIX##*/}/$DIR)") || exit 1
fi
done
) || exit 1
fi
mkdir -m 755 "$BUILD_ROOT/install" &&
for FILE in doinst.sh slack-{conflicts,desc,install,remove,required,suggests}; do
if [[ -e "$SRC_DIR/$FILE" ]]; then
egrep -v '^#|^$|-handy-ruler-' "$SRC_DIR/$FILE" | sed \
-e "s:%BUILD_PREFIX%:$BUILD_PREFIX:g" \
-e "s:%BUILD_LIBDIRSUFFIX%:$BUILD_LIBDIRSUFFIX:g" \
-e "s:%BUILD_OS_ID%:$BUILD_OS_ID:g" \
-e "s:%BUILD_OS_VERSION_ID%:$BUILD_OS_VERSION_ID:g" \
-e "s:%PKG_NAME%:$PKG_NAME:g" \
-e "s:%PKG_VERSION%:$PKG_VERSION:g" \
-e "s:%PKG_FILE_VERSION%:${PKG_VERSION//-/_}:g" \
-e "s:%PKG_ARCH%:$PKG_ARCH:g" \
-e "s:%PKG_BUILD%:$PKG_BUILD:g" \
-e "s:%PKG_TAG%:${PKG_TAG//-/_}:g" \
-e "s:%PKG_EXT%:$PKG_EXT:g" \
>"$BUILD_ROOT/install/$FILE" || exit 1
fi
done
cd "$BUILD_ROOT" &&
rm -f "$BUILD_WORKDIR/$PKG_NAME-${PKG_VERSION//-/_}-$PKG_ARCH-$PKG_BUILD${PKG_TAG//-/_}."* &&
makepkg -l y -p -c n "$BUILD_WORKDIR/$PKG_NAME-${PKG_VERSION//-/_}-$PKG_ARCH-$PKG_BUILD${PKG_TAG//-/_}.$PKG_EXT" &&
cat install/slack-desc >"$BUILD_WORKDIR/$PKG_NAME-${PKG_VERSION//-/_}-$PKG_ARCH-$PKG_BUILD${PKG_TAG//-/_}.txt" || exit 1
mkdir -p -m 755 "$PKG_STORE" &&
mv -b "$BUILD_WORKDIR/$PKG_NAME-${PKG_VERSION//-/_}-$PKG_ARCH-$PKG_BUILD${PKG_TAG//-/_}".{"$PKG_EXT",txt} "$PKG_STORE" || exit 1
if [[ "$BUILD_NOCLEANUP" != "1" ]]; then
rm -rf "$BUILD_ROOT"
fi
echo -e "\\033[1;32mPackage built:\n " \
"$(ls "$PKG_STORE/$PKG_NAME-${PKG_VERSION//-/_}-$PKG_ARCH-$PKG_BUILD${PKG_TAG//-/_}.$PKG_EXT")\\033[0;39m"

View file

@ -0,0 +1,72 @@
######################
# SpamAssassin #
# Updated for v3.4.6 #
######################
# Required #
Digest::SHA1
HTML::Parser
Net::DNS
NetAddr::IP
Time::HiRes
LWP
HTTP::Date
IO::Zlib
Text::Diff # Optional add-on for Archive::Tar
Archive::Tar
# Optional #
MIME::Base64
DB_File
Net::SMTP
Mail::SPF
# Geo::IP # Functionallity not required.
# Net::Ident # Functionallity not required.
IO::Socket::INET6 # Requires Socket6, installed specially in SlackBuild.
IO::Socket::SSL
Compress::Zlib
Mail::DKIM
DBI
Encode::Detect
# Apache::Test # Functionallity not required.
Net::CIDR::Lite # Not listed in docs, but shows as missing during build.
# Net::Patricia # Not listed in docs, but shows as missing during build. Functionallity not required.
BSD::Resource # Not listed in docs, but shows as missing during build.
########################
# Majordomo2 #
# Updated for 20160404 #
########################
# Required #
Mail::Internet
Mail::Header
MIME::Base64
IO::Wrap
MIME::Tools
Data::Dumper
Date::Manip
CGI
Digest::SHA1
Socket
IO::File
IO::Handle
Date::Format
Date::Parse
DirHandle
Safe
POSIX
Net::Domain
File::Basename
File::Copy
Fcntl
Carp
Time::Local
HTML::FormatText
HTML::TreeBuilder
# Optional #
Time::HiRes
Term::ReadLine::Gnu # Or Term::ReadLine::Perl, but mod reqired user input to build
Text::Reflow
# DB_File # Functionallity not required.
# DBI # Functionallity not required.
# DBD::Pg # Functionallity not required.
# DBD::mysql # Functionallity not required.

View file

@ -0,0 +1,19 @@
# Version: 0.2.3
# Package description syntax:
# * There must be exactly 11 lines which begin with the package name and ':'.
# * Line up the first '|' of the ruler with the ':' following the package name.
# * A single space should be left after the ':' before any description text.
# * The end '|' of the ruler marks the last columm which should contain text.
|-----handy-ruler------------------------------------------------------|
%PKG_NAME%: CPAN modules (Various CPAN perl modules)
%PKG_NAME%:
%PKG_NAME%: This package includes various CPAN perl modules which are required
%PKG_NAME%: by some perl applications.
%PKG_NAME%:
%PKG_NAME%:
%PKG_NAME%:
%PKG_NAME%:
%PKG_NAME%:
%PKG_NAME%:
%PKG_NAME%: Packaged by: Darren 'Tadgy' Austin. Built for: %BUILD_OS_ID%%BUILD_LIBDIRSUFFIX%-%BUILD_OS_VERSION_ID%

View file

@ -0,0 +1,19 @@
# Version: 0.2.5
# Package description syntax:
# * There must be exactly 11 lines which begin with the package name and ':'.
# * Line up the first '|' of the ruler with the ':' following the package name.
# * A single space should be left after the ':' before any description text.
# * The end '|' of the ruler marks the last columm which should contain text.
|-----handy-ruler------------------------------------------------------|
%PKG_NAME%: CPAN modules (Various CPAN perl modules)
%PKG_NAME%:
%PKG_NAME%: This package includes various CPAN perl modules which are required
%PKG_NAME%: by some perl applications.
%PKG_NAME%:
%PKG_NAME%:
%PKG_NAME%:
%PKG_NAME%:
%PKG_NAME%: Warning: This package does not contain any configuration files.
%PKG_NAME%:
%PKG_NAME%: Packaged by: Darren 'Tadgy' Austin. Built for: %DIST_OS_ID%-%DIST_OS_VERSION_ID%.

View file

@ -0,0 +1,16 @@
# Version: 0.2.3
# This is the list of packages which, if the package currently being installed
# is to operate correctly, must be installed on the system - its dependancies.
# For example, 'spamassassin' requires the 'perl' package to operate.
# Packages must be listed one per line and are case sensitive. If multiple
# packages could satisfy a single dependancy (such as 'openssl-solibs' and
# 'openssl' for the SSL library) the packages should be listed in the format:
# <pkg1> | <pkg2> [| <pkg3> ...]
# Specific package versions can be specified using = >= =< < > operators.
# The = operator requires the full package version string (eg, 1.2.3-x86_64-5).
# The >= =< < > operators, can use the short package version string
# (eg, 1.2.3) or the full version string. This file is only used by slapt-get.
db48
openssl | openssl-solibs
perl
readline | aaa_elflibs