Initial commit of templates/
This commit is contained in:
commit
d438ad2ffb
45 changed files with 3213 additions and 0 deletions
74
templates/old/doinst.sh-0.2.2
Normal file
74
templates/old/doinst.sh-0.2.2
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
# Version: 0.2.2
|
||||
# Copyright (c) 2005-2011:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
|
||||
install_file() {
|
||||
# $1 = Path of file to process (without leading /, with .new extension)
|
||||
|
||||
[ -z "$1" ] || [ ! -e "$1" ] && return
|
||||
local OLDFILE="${1%%.new}"
|
||||
local NEWMD5="$(md5sum "$1" 2>/dev/null | cut -d' ' -f1)"
|
||||
local OLDMD5="$(md5sum "$OLDFILE" 2>/dev/null | cut -d' ' -f1)"
|
||||
local PREVMD5S="$(grep -P "^(/)?\Q$OLDFILE\E(\.new)?(\t)+[[:alnum:]]{32}(\t|$)" \
|
||||
install/slack-install 2>/dev/null | tr -s '\t' | cut -d$'\t' -f2)"
|
||||
|
||||
if [ ! -e "$OLDFILE" ]; then
|
||||
mv "$1" "$OLDFILE"
|
||||
elif [ "$NEWMD5" = "$OLDMD5" ]; then
|
||||
rm -f "$1"
|
||||
elif echo "$PREVMD5S" | grep -v "^$NEWMD5$" | grep "^$OLDMD5$" >/dev/null 2>&1
|
||||
then
|
||||
cat "$1" >"$OLDFILE"
|
||||
rm -f "$1"
|
||||
else
|
||||
# |--------|-----------------------------------------------------------|
|
||||
echo "WARNING: $OLDFILE: changed since installation."
|
||||
echo " Examine the file: $1"
|
||||
echo " and integrate any required changes into the customised file."
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
remove_file() {
|
||||
# $1 = Path of item to process (without leading or trailing /)
|
||||
|
||||
[ -z "$1" ] || [ ! -e "$1" ] && return
|
||||
local TYPE="$(stat -c "%F" "$1" | tr [:upper:] [:lower:] | cut -d' ' -f1)"
|
||||
local MD5S="$(grep -P "^(/)?\Q$1\E(\t)+([[:alnum:]]{32}|DIR|LINK|SPECIAL|FORCE_REMOVE){1}(\t|$)" \
|
||||
install/slack-remove | tr -s '\t' | cut -d$'\t' -f2)"
|
||||
|
||||
if [[ "$TYPE" = "directory" && "$MD5S" =~ "\<DIR\>" ]] || \
|
||||
[[ "$TYPE" = "symbolic" && "$MD5S" =~ "\<LINK\>" ]] || \
|
||||
[[ "$TYPE" =~ "(block|character|fifo|socket)" && "$MD5S" =~ "\<SPECIAL\>" ]] || \
|
||||
[[ "$TYPE" = "regular" && ( "$MD5S" =~ "\<FORCE_REMOVE\>" || \
|
||||
"$MD5S" =~ "\<$(md5sum "$1" 2>/dev/null | cut -d' ' -f1)\>" ) ]]
|
||||
then
|
||||
rm -rf "$1"
|
||||
else
|
||||
# |--------|-----------------------------------------------------------|
|
||||
echo "WARNING: $1: not removed."
|
||||
if [ -z "$MD5S" ]; then
|
||||
echo " Not found in slack-remove file - cannot verify md5sum/type."
|
||||
elif [ "$TYPE" = "regular" ]; then
|
||||
echo " File has been customised since installation."
|
||||
else
|
||||
echo " Incorrect special type listed in slack-remove file."
|
||||
fi
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
install_file FIXME/FIXME.new
|
||||
|
||||
remove_file FIXME/FIXME
|
||||
|
||||
ldconfig -r .
|
||||
|
||||
[ -x usr/bin/install-info ] && \
|
||||
usr/bin/install-info FIXME/info/FIXME.info.gz FIXME/info/dir
|
||||
|
||||
for FILE in $(find FIXME/lib/perl5 -name perllocal.pod.new); do
|
||||
cat $FILE >>${FILE%%.new} &&
|
||||
rm -f $FILE
|
||||
done
|
||||
71
templates/old/doinst.sh-0.2.3
Normal file
71
templates/old/doinst.sh-0.2.3
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
# Version: 0.2.3
|
||||
# Copyright (c) 2005-2013:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
|
||||
install_file() {
|
||||
# $1 = Path of file to process (without leading /, with .new extension)
|
||||
|
||||
[ -z "$1" ] || [ ! -e "$1" ] && return
|
||||
local OLDFILE="${1%%.new}"
|
||||
local NEWMD5="$(md5sum "$1" 2>/dev/null | cut -d' ' -f1)"
|
||||
local OLDMD5="$(md5sum "$OLDFILE" 2>/dev/null | cut -d' ' -f1)"
|
||||
local PREVMD5S="$(grep -P "^(/)?\Q$OLDFILE\E(\.new)?(\t)+[[:alnum:]]{32}(\t|$)" \
|
||||
install/slack-install 2>/dev/null | tr -s '\t' | cut -d$'\t' -f2)"
|
||||
|
||||
if [ ! -e "$OLDFILE" ]; then
|
||||
mv "$1" "$OLDFILE"
|
||||
elif [ "$NEWMD5" = "$OLDMD5" ]; then
|
||||
rm -f "$1"
|
||||
elif echo "$PREVMD5S" | grep -v "^$NEWMD5$" | grep "^$OLDMD5$" >/dev/null 2>&1; then
|
||||
cat "$1" >"$OLDFILE" &&
|
||||
rm -f "$1"
|
||||
else
|
||||
# |--------|-----------------------------------------------------------|
|
||||
echo "WARNING: $OLDFILE"
|
||||
echo " has been customised since original installation and was not"
|
||||
echo " replaced with the incoming .new file."
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
remove_file() {
|
||||
# $1 = Path of item to process (without leading or trailing /)
|
||||
|
||||
[ -z "$1" ] || [ ! -e "$1" ] && return
|
||||
local TYPE="$(stat -c "%F" "$1" | tr [:upper:] [:lower:] | cut -d' ' -f1)"
|
||||
local MD5S="$(grep -P "^(/)?\Q$1\E(\t)+([[:alnum:]]{32}|DIR|LINK|SPECIAL|FORCE_REMOVE)(\t|$)" \
|
||||
install/slack-remove | tr -s '\t' | cut -d$'\t' -f2)"
|
||||
|
||||
if [[ "$TYPE" = "directory" && "$MD5S" =~ "\<DIR\>" ]] || \
|
||||
[[ "$TYPE" = "symbolic" && "$MD5S" =~ "\<LINK\>" ]] || \
|
||||
[[ "$TYPE" =~ "(block|character|fifo|socket)" && "$MD5S" =~ "\<SPECIAL\>" ]] || \
|
||||
[[ "$TYPE" = "regular" && "$MD5S" =~ "\<FORCE_REMOVE\>" ]] || \
|
||||
[[ "$TYPE" = "regular" && "$MD5S" =~ "\<$(md5sum "$1" 2>/dev/null | cut -d' ' -f1)\>" ]]
|
||||
then
|
||||
rm -rf "$1"
|
||||
else
|
||||
# |--------|-----------------------------------------------------------|
|
||||
echo "WARNING: $1: not removed."
|
||||
if [ -z "$MD5S" ]; then
|
||||
echo " Not in slack-remove file - cannot verify md5sum or type."
|
||||
elif [ "$TYPE" = "regular" ]; then
|
||||
echo " Customised file - no matching md5sum in slack-remove file."
|
||||
else
|
||||
echo " Item does't match special type listed in slack-remove file."
|
||||
fi
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
install_file FIXME/FIXME.new
|
||||
|
||||
remove_file FIXME/FIXME
|
||||
|
||||
[ -x usr/bin/install-info ] && \
|
||||
usr/bin/install-info FIXME/info/FIXME.info.gz FIXME/info/dir
|
||||
|
||||
for FILE in $(find FIXME/lib/perl5 -name perllocal.pod.new); do
|
||||
cat "$FILE" >>"${FILE%%.new}" &&
|
||||
rm -f "$FILE"
|
||||
done
|
||||
40
templates/old/doinst.sh-0.2.4
Normal file
40
templates/old/doinst.sh-0.2.4
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
# Version: 0.2.4
|
||||
# Copyright (c) 2005-2013:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
|
||||
install_file() {
|
||||
# $1 = Path of file to process (without leading /, with .new extension)
|
||||
|
||||
[ -z "$1" ] || [ ! -e "$1" ] && return
|
||||
local OLDFILE="${1%%.new}"
|
||||
local NEWMD5="$(md5sum "$1" 2>/dev/null | cut -d' ' -f1)"
|
||||
local OLDMD5="$(md5sum "$OLDFILE" 2>/dev/null | cut -d' ' -f1)"
|
||||
local PREVMD5S="$(grep -P "^[[:alnum:]]{32}(\t)+(/)?\Q${OLDFILE}\E(\.new)?(\t|$)" \
|
||||
install/slack-install 2>/dev/null | tr -s '\t' | cut -d$'\t' -f2)"
|
||||
|
||||
if [ ! -e "$OLDFILE" ]; then
|
||||
mv "$1" "$OLDFILE"
|
||||
elif [ "$NEWMD5" = "$OLDMD5" ]; then
|
||||
rm -f "$1"
|
||||
elif echo "$PREVMD5S" | grep -v "^$NEWMD5$" | grep "^$OLDMD5$" >/dev/null 2>&1; then
|
||||
cat "$1" >"$OLDFILE" &&
|
||||
rm -f "$1"
|
||||
else
|
||||
# |--------|-----------------------------------------------------------|
|
||||
echo "WARNING: $OLDFILE"
|
||||
echo " has been customised since original installation and was not"
|
||||
echo " replaced with the incoming .new file."
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
install_file FIXME/FIXME.new
|
||||
|
||||
[ -x usr/bin/install-info ] && \
|
||||
usr/bin/install-info FIXME/info/FIXME.info.gz FIXME/info/dir
|
||||
|
||||
for FILE in $(find FIXME/lib/perl5 -name perllocal.pod.new); do
|
||||
cat "$FILE" >>"${FILE%%.new}" &&
|
||||
rm -f "$FILE"
|
||||
done
|
||||
135
templates/old/doinst.sh-0.2.6
Normal file
135
templates/old/doinst.sh-0.2.6
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
# Version: 0.2.6
|
||||
# Copyright (c) 2005-2017:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
|
||||
install_file() {
|
||||
# $1 = Path of file to process (without leading /, with .new extension)
|
||||
|
||||
[ -z "$1" -o ! -e "$1" ] && return
|
||||
local OLDFILE="${1%%.new}"
|
||||
local NEWMD5="$(md5sum "$1" 2>/dev/null | cut -d' ' -f1)"
|
||||
local OLDMD5="$(md5sum "$OLDFILE" 2>/dev/null | cut -d' ' -f1)"
|
||||
local PREVMD5S="$(grep -P "^[[:alnum:]]{32}[[:blank:]]+(/)?\Q${OLDFILE}\E(\.new)?[[:blank:]]*$" \
|
||||
install/slack-install | grep -Eo '[[:alnum:]]{32}')"
|
||||
|
||||
if [ ! -e "$OLDFILE" ]; then
|
||||
mv "$1" "$OLDFILE"
|
||||
elif [ "$NEWMD5" = "$OLDMD5" ]; then
|
||||
rm -f "$1"
|
||||
elif echo "$PREVMD5S" | grep -v "^$NEWMD5$" | grep "^$OLDMD5$" >/dev/null 2>&1; then
|
||||
cat "$1" >"$OLDFILE" &&
|
||||
rm -f "$1"
|
||||
else
|
||||
# |--------|-----------------------------------------------------------|
|
||||
echo "WARNING: $OLDFILE"
|
||||
echo " has been customised since original installation and was not"
|
||||
echo " replaced with the incoming .new file."
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
install_file "FIXME/FIXME.new"
|
||||
|
||||
[ -x usr/bin/install-info ] && \
|
||||
usr/bin/install-info FIXME/info/FIXME.info.gz FIXME/info/dir
|
||||
|
||||
for FILE in "$(find FIXME/lib/perl5 -name perllocal.pod.new)"; do
|
||||
cat "$FILE" >>"${FILE%%.new}" &&
|
||||
rm -f "$FILE"
|
||||
done
|
||||
# Version: 1.0 GSB doinst.sh - Do not remove this line!
|
||||
# Copyright (c) 2007, 2008:
|
||||
# Darren 'Tadgy' Austin <darren (at) gnomeslackbuild.org>, Coventry, UK.
|
||||
# Steve Kennedy <steve (at) gnomeslackbuild.org>, Exeter, UK.
|
||||
# Licenced under the terms of the GNU General Public Licence version 3.
|
||||
#
|
||||
|
||||
# Update new libraries
|
||||
ldconfig -r .
|
||||
|
||||
# Preserve new configuration files
|
||||
function install_file() {
|
||||
# $1 = File to process
|
||||
FILE="$(dirname "$1")/$(basename "$1" .new)"
|
||||
if [ ! -e "$FILE" ]
|
||||
then
|
||||
mv "$FILE.new" "$FILE"
|
||||
elif [ "$(cat "$FILE" | md5sum)" != "$(cat "$FILE.new" | md5sum)" ]
|
||||
then
|
||||
# |--------|--------------------------------------------------|
|
||||
echo "WARNING: $FILE has been customised."
|
||||
echo " Examine the $FILE.new file"
|
||||
echo " and integrate any changes into the custom file."
|
||||
echo
|
||||
else
|
||||
rm -f "$FILE.new"
|
||||
fi
|
||||
}
|
||||
|
||||
install_file FIXME/FIXME.new
|
||||
|
||||
# If the FIXME user/group don't exist, add them
|
||||
if ! grep "^FIXME:" etc/group >/dev/null 2>&1; then
|
||||
echo "FIXME:x:GID:" >>etc/group
|
||||
fi
|
||||
if ! grep "^FIXME:" etc/gshadow >/dev/null 2>&1; then
|
||||
echo "FIXME:*::" >>etc/gshadow
|
||||
fi
|
||||
if ! grep "^FIXME:" etc/passwd >/dev/null 2>&1; then
|
||||
echo "FIXME:x:UID:GID:FIXME user:/FIXME/HOME/DIR:/bin/false" >>etc/passwd
|
||||
fi
|
||||
if grep "^FIXME:" etc/shadow >/dev/null 2>&1; then
|
||||
echo "FIXME:*:9797:0:::::" >>etc/shadow
|
||||
fi
|
||||
|
||||
# If rc.local doesn't exist, create it
|
||||
if [ ! -e etc/rc.d/rc.local ]; then
|
||||
echo "#!/bin/sh" >etc/rc.d/rc.local
|
||||
chmod 755 etc/rc.d/rc.local
|
||||
fi
|
||||
|
||||
# If rc.local_shutdown doesn't exist, create it
|
||||
if [ ! -e etc/rc.d/rc.local_shutdown ]; then
|
||||
echo "#!/bin/sh" >etc/rc.d/rc.local_shutdown
|
||||
chmod 755 etc/rc.d/rc.local_shutdown
|
||||
fi
|
||||
|
||||
# Add service start to rc.local
|
||||
if ! grep "/etc/rc.d/rc.FIXME" etc/rc.d/rc.local >/dev/null 2>&1; then
|
||||
cat <EOF >>etc/rc.d/rc.local
|
||||
|
||||
# To disable FIXME, chmod rc.FIXME to 644
|
||||
if [ -x /etc/rc.d/rc.FIXME ]; then
|
||||
/etc/rc.d/rc.FIXME start
|
||||
fi
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Add service shutdown to rc.local_shutdown
|
||||
if ! grep "/etc/rc.d/rc.FIXME" etc/rc.d/rc.local_shutdown >/dev/null 2>&1; then
|
||||
cat <EOF >>etc/rc.d/rc.local_shutdown
|
||||
|
||||
if [ -x /etc/rc.d/rc.FIXME ]; then
|
||||
/etc/rc.d/rc.FIXME stop
|
||||
fi
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Install new info files
|
||||
if [ -x usr/bin/install-info ]; then
|
||||
usr/bin/install-info usr/info/FIXME.info.gz usr/info/dir >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
# Update desktop database
|
||||
if [ -x usr/bin/update-desktop-database ]; then
|
||||
usr/bin/update-desktop-database >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
# Update mime database
|
||||
if [ -x usr/bin/update-mime-database ]; then
|
||||
usr/bin/update-mime-database usr/share/mime/ >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
# Restart gconfd-2 to reload new settings
|
||||
killall -HUP gconfd-2 >/dev/null 2>&1
|
||||
77
templates/old/doinst.sh-0.3.2
Normal file
77
templates/old/doinst.sh-0.3.2
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
# Version: 0.3.2
|
||||
# Copyright (c) 2005-2017:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
|
||||
install_file() {
|
||||
# $1 = Path of file to process (without leading /, with .new extension)
|
||||
|
||||
[ -z "$1" -o ! -e "$1" ] && return
|
||||
local OLDFILE="${1%.new}"
|
||||
local NEWMD5="$(md5sum "$1" 2>/dev/null | cut -d' ' -f1)"
|
||||
local OLDMD5="$(md5sum "$OLDFILE" 2>/dev/null | cut -d' ' -f1)"
|
||||
local PREVMD5S="$(grep -P "^[[:alnum:]]{32}[[:blank:]]+(/)?\Q$OLDFILE\E(\.new)?[[:blank:]]*$" \
|
||||
install/slack-install | grep -Eo '^[[:alnum:]]{32}')"
|
||||
|
||||
if [ ! -e "$OLDFILE" ]; then
|
||||
mv "$1" "$OLDFILE"
|
||||
elif [ "$NEWMD5" = "$OLDMD5" ]; then
|
||||
rm -f "$1"
|
||||
elif echo "$PREVMD5S" | grep -v "^$NEWMD5$" | grep "^$OLDMD5$" >/dev/null 2>&1; then
|
||||
cat "$1" >"$OLDFILE" &&
|
||||
rm -f "$1"
|
||||
else
|
||||
# |--------|-----------------------------------------------------------|
|
||||
echo "WARNING: $OLDFILE"
|
||||
echo " has been customised since original installation and was not"
|
||||
echo " replaced with the incoming .new file."
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
# Install new configuration files.
|
||||
install_file "FIXME/FIXME.new"
|
||||
|
||||
# List info pages in the directory.
|
||||
[ -x usr/bin/install-info ] && usr/bin/install-info %BUILD_PREFIX%/info/FIXME.info.gz %BUILD_PREFIX%/info/dir
|
||||
|
||||
# Add required user/group.
|
||||
# Note: groups need to be added before users.
|
||||
grep "^FIXME_GROUPNAME:" etc/group >/dev/null 2>&1 || {
|
||||
echo "NOTICE: Adding new system group: FIXME_GROUPNAME (FIXME_GID)."
|
||||
usr/sbin/groupadd -g FIXME_GID -r FIXME_GROUPNAME || echo "WARNING: Failed to create required group (FIXME_GROUPNAME)."
|
||||
usr/sbin/grpconv # Won't hurt if above failed.
|
||||
}
|
||||
grep "^FIXME_USERNAME:" etc/passwd >/dev/null 2>&1 || {
|
||||
echo "NOTICE: Adding new system user: FIXME_USERNAME (FIXME_UID)"
|
||||
usr/sbin/useradd -d FIXME_HOMEDIR -g FIXME_GROUPNAME -M -N -r -s /bin/false -u FIXME_UID FIXME_USERNAME || \
|
||||
echo "WARNING: Failed to create required user (FIXME_USERNAME)."
|
||||
usr/sbin/pwconv # Won't hurt if above failed.
|
||||
}
|
||||
# The old way...
|
||||
# grep '^FIXME_USERNAME:' etc/passwd >/dev/null 2>&1 || echo 'FIXME_USERNAME:x:FIXME_UID:FIXME_GID:FIXME_USERNAME user:FIXME_HOMEDIR:/bin/false' >>etc/passwd
|
||||
# grep '^FIXME_USERNAME:' etc/shadow >/dev/null 2>&1 || echo 'FIXME_USERNAME:*:9797:0:::::' >>etc/shadow
|
||||
# grep '^FIXME_GROUPNAME:' etc/group >/dev/null 2>&1 || echo 'FIXME_GROUPNAME:x:FIXME_GID:' >>etc/group
|
||||
# grep '^FIXME_GROUPNAME:' etc/gshadow >/dev/null 2>&1 || echo 'FIXME_GROUPNAME:*::' >>etc/gshadow
|
||||
|
||||
# Add service start to rc.local
|
||||
fgrep '/etc/rc.d/rc.FIXME' etc/rc.d/rc.local >/dev/null 2>&1 || {
|
||||
echo >>etc/rc.d/rc.local
|
||||
echo 'if [ -x /etc/rc.d/rc.FIXME ]; then' >>etc/rc.d/rc.local
|
||||
echo ' /etc/rc.d/rc.FIXME start' >>etc/rc.d/rc.local
|
||||
echo 'fi' >>etc/rc.d/rc.local
|
||||
}
|
||||
|
||||
# If rc.local_shutdown doesn't exist, create it.
|
||||
[ -e etc/rc.d/rc.local_shutdown ] || {
|
||||
echo '#!/bin/sh' >etc/rc.d/rc.local_shutdown
|
||||
chmod 755 etc/rc.d/rc.local_shutdown
|
||||
}
|
||||
|
||||
# Add service shutdown to rc.local_shutdown
|
||||
fgrep '/etc/rc.d/rc.FIXME' etc/rc.d/rc.local_shutdown || {
|
||||
echo >>etc/rc.d/rc.local_shutdown
|
||||
echo 'if [ -x /etc/rc.d/rc.FIXME ]; then' >>etc/rc.d/rc.local_shutdown
|
||||
echo ' /etc/rc.d/rc.FIXME stop' >>etc/rc.d/rc.local_shutdown
|
||||
echo 'fi' >>etc/rc.d/rc.local_shutdown
|
||||
}
|
||||
75
templates/old/doinst.sh-0.3.3
Normal file
75
templates/old/doinst.sh-0.3.3
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
# Version: 0.3.3
|
||||
# Copyright (c) 2005-2017:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
|
||||
install_file() {
|
||||
# $1 = Path of file to process (without leading /, with .new extension)
|
||||
|
||||
[ -z "$1" -o ! -e "$1" ] && return
|
||||
local OLDFILE="${1%.new}"
|
||||
local NEWMD5="$(md5sum "$1" 2>/dev/null | cut -d' ' -f1)"
|
||||
local OLDMD5="$(md5sum "$OLDFILE" 2>/dev/null | cut -d' ' -f1)"
|
||||
local PREVMD5S="$(grep -P "^[[:alnum:]]{32}[[:blank:]]+(/)?\Q$OLDFILE\E(\.new)?[[:blank:]]*$" \
|
||||
install/slack-install | grep -Eo '^[[:alnum:]]{32}')"
|
||||
|
||||
if [ ! -e "$OLDFILE" ]; then
|
||||
mv "$1" "$OLDFILE"
|
||||
elif [ "$NEWMD5" = "$OLDMD5" ]; then
|
||||
rm -f "$1"
|
||||
elif echo "$PREVMD5S" | grep -v "^$NEWMD5$" | grep "^$OLDMD5$" >/dev/null 2>&1; then
|
||||
cat "$1" >"$OLDFILE" &&
|
||||
rm -f "$1"
|
||||
else
|
||||
# |--------|-----------------------------------------------------------|
|
||||
echo "WARNING: $OLDFILE"
|
||||
echo " has been customised since original installation and was not"
|
||||
echo " replaced with the incoming .new file."
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
# Install new configuration files.
|
||||
install_file "FIXME/FIXME.new"
|
||||
|
||||
# List info pages in the directory.
|
||||
[ -x usr/bin/install-info ] && usr/bin/install-info %BUILD_PREFIX%/info/FIXME.info.gz %BUILD_PREFIX%/info/dir
|
||||
|
||||
# Add required user/group.
|
||||
# Note: groups need to be added before users.
|
||||
grep "^FIXME_GROUPNAME:" etc/group >/dev/null 2>&1 || {
|
||||
if chroot . usr/sbin/groupadd -g FIXME_GID -r FIXME_GROUPNAME && chroot . usr/sbin/grpconv; then
|
||||
echo -e "NOTICE: Added new system group: FIXME_GROUPNAME (FIXME_GID).\n"
|
||||
else
|
||||
echo -e "WARNING: Failed to add required group: FIXME_GROUPNAME.\n"
|
||||
fi
|
||||
}
|
||||
grep "^FIXME_USERNAME:" etc/passwd >/dev/null 2>&1 || {
|
||||
if chroot . usr/sbin/useradd -d FIXME_HOMEDIR -g FIXME_GROUPNAME -M -N -r -s /bin/false -u FIXME_UID FIXME_USERNAME && chroot . usr/sbin/pwconv; then
|
||||
echo -e "NOTICE: Added new system user: FIXME_USERNAME (FIXME_UID)\n"
|
||||
else
|
||||
echo -e "WARNING: Failed to add required user: FIXME_USERNAME.\n"
|
||||
fi
|
||||
}
|
||||
|
||||
# Add service start to rc.local
|
||||
fgrep '/etc/rc.d/rc.FIXME' etc/rc.d/rc.local >/dev/null 2>&1 || {
|
||||
echo >>etc/rc.d/rc.local
|
||||
echo 'if [ -x /etc/rc.d/rc.FIXME ]; then' >>etc/rc.d/rc.local
|
||||
echo ' /etc/rc.d/rc.FIXME start' >>etc/rc.d/rc.local
|
||||
echo 'fi' >>etc/rc.d/rc.local
|
||||
}
|
||||
|
||||
# If rc.local_shutdown doesn't exist, create it.
|
||||
[ -e etc/rc.d/rc.local_shutdown ] || {
|
||||
echo '#!/bin/sh' >etc/rc.d/rc.local_shutdown
|
||||
chmod 755 etc/rc.d/rc.local_shutdown
|
||||
}
|
||||
|
||||
# Add service shutdown to rc.local_shutdown
|
||||
fgrep '/etc/rc.d/rc.FIXME' etc/rc.d/rc.local_shutdown || {
|
||||
echo >>etc/rc.d/rc.local_shutdown
|
||||
echo 'if [ -x /etc/rc.d/rc.FIXME ]; then' >>etc/rc.d/rc.local_shutdown
|
||||
echo ' /etc/rc.d/rc.FIXME stop' >>etc/rc.d/rc.local_shutdown
|
||||
echo 'fi' >>etc/rc.d/rc.local_shutdown
|
||||
}
|
||||
75
templates/old/doinst.sh-0.3.4
Normal file
75
templates/old/doinst.sh-0.3.4
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
# Version: 0.3.4
|
||||
# Copyright (c) 2005-2017:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
|
||||
install_file() {
|
||||
# $1 = Path of file to process (without leading /, with .new extension)
|
||||
|
||||
[ -z "$1" -o ! -e "$1" ] && return
|
||||
local OLDFILE="${1%.new}"
|
||||
local NEWMD5="$(md5sum "$1" 2>/dev/null | cut -d' ' -f1)"
|
||||
local OLDMD5="$(md5sum "$OLDFILE" 2>/dev/null | cut -d' ' -f1)"
|
||||
local PREVMD5S="$(grep -P "^[[:alnum:]]{32}[[:blank:]]+(/)?\Q$OLDFILE\E(\.new)?[[:blank:]]*$" \
|
||||
install/slack-install 2>/dev/null | grep -Eo '^[[:alnum:]]{32}')"
|
||||
|
||||
if [ ! -e "$OLDFILE" ]; then
|
||||
mv "$1" "$OLDFILE"
|
||||
elif [ "$NEWMD5" = "$OLDMD5" ]; then
|
||||
rm -f "$1"
|
||||
elif echo "$PREVMD5S" | grep -v "^$NEWMD5$" | grep "^$OLDMD5$" >/dev/null 2>&1; then
|
||||
cat "$1" >"$OLDFILE" &&
|
||||
rm -f "$1"
|
||||
else
|
||||
# |--------|-----------------------------------------------------------|
|
||||
echo "WARNING: $OLDFILE"
|
||||
echo " has been customised since original installation and was not"
|
||||
echo " replaced with the incoming .new file."
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
# Install new configuration files.
|
||||
install_file "FIXME/FIXME.new"
|
||||
|
||||
# List info pages in the directory.
|
||||
[ -x usr/bin/install-info ] && usr/bin/install-info %BUILD_PREFIX%/info/FIXME.info.gz %BUILD_PREFIX%/info/dir
|
||||
|
||||
# Add required user/group.
|
||||
# Note: groups need to be added before users.
|
||||
grep "^FIXME_GROUPNAME:" etc/group >/dev/null 2>&1 || {
|
||||
if chroot . usr/sbin/groupadd -g FIXME_GID -r FIXME_GROUPNAME && chroot . usr/sbin/grpconv; then
|
||||
echo -e "NOTICE: Added new system group: FIXME_GROUPNAME (FIXME_GID).\n"
|
||||
else
|
||||
echo -e "WARNING: Failed to add required group: FIXME_GROUPNAME.\n"
|
||||
fi
|
||||
}
|
||||
grep "^FIXME_USERNAME:" etc/passwd >/dev/null 2>&1 || {
|
||||
if chroot . usr/sbin/useradd -d FIXME_HOMEDIR -g FIXME_GROUPNAME -M -N -r -s /bin/false -u FIXME_UID FIXME_USERNAME && chroot . usr/sbin/pwconv; then
|
||||
echo -e "NOTICE: Added new system user: FIXME_USERNAME (FIXME_UID)\n"
|
||||
else
|
||||
echo -e "WARNING: Failed to add required user: FIXME_USERNAME.\n"
|
||||
fi
|
||||
}
|
||||
|
||||
# Add service start to rc.local
|
||||
fgrep '/etc/rc.d/rc.FIXME' etc/rc.d/rc.local >/dev/null 2>&1 || {
|
||||
echo >>etc/rc.d/rc.local
|
||||
echo 'if [ -x /etc/rc.d/rc.FIXME ]; then' >>etc/rc.d/rc.local
|
||||
echo ' /etc/rc.d/rc.FIXME start' >>etc/rc.d/rc.local
|
||||
echo 'fi' >>etc/rc.d/rc.local
|
||||
}
|
||||
|
||||
# If rc.local_shutdown doesn't exist, create it.
|
||||
[ -e etc/rc.d/rc.local_shutdown ] || {
|
||||
echo '#!/bin/sh' >etc/rc.d/rc.local_shutdown
|
||||
chmod 755 etc/rc.d/rc.local_shutdown
|
||||
}
|
||||
|
||||
# Add service shutdown to rc.local_shutdown
|
||||
fgrep '/etc/rc.d/rc.FIXME' etc/rc.d/rc.local_shutdown || {
|
||||
echo >>etc/rc.d/rc.local_shutdown
|
||||
echo 'if [ -x /etc/rc.d/rc.FIXME ]; then' >>etc/rc.d/rc.local_shutdown
|
||||
echo ' /etc/rc.d/rc.FIXME stop' >>etc/rc.d/rc.local_shutdown
|
||||
echo 'fi' >>etc/rc.d/rc.local_shutdown
|
||||
}
|
||||
110
templates/old/rc.template.new-0.2.5
Executable file
110
templates/old/rc.template.new-0.2.5
Executable file
|
|
@ -0,0 +1,110 @@
|
|||
#!/bin/bash
|
||||
# Version: 0.2.5
|
||||
# Copyright (c) 2005-2011:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
|
||||
EXEC=""
|
||||
ARGS=""
|
||||
PIDFILE=""
|
||||
|
||||
checkconfigured() {
|
||||
# This function can be used to perform any pre-start tests; hopfully to insure the daemon
|
||||
# can start correctly, before actually trying to start it. A return value of 0 means the
|
||||
# tests were passed and the daemon should be started. Any other value prevents the
|
||||
# daemon from being started and will emit an error message.
|
||||
return 0
|
||||
}
|
||||
|
||||
checkstatus() {
|
||||
local RUNPIDS="$(pidof -o $$ -o $PPID -o %PPID -x "$EXEC" 2>/dev/null)"
|
||||
if [ ! -z "$RUNPIDS" ]; then
|
||||
echo -n "${BASH_SOURCE##*/}: ${EXEC##*/}: running"
|
||||
if [ ! -z "$PIDFILE" ]; then
|
||||
if [ ! -e "$PIDFILE" ]; then
|
||||
echo -n ", but .pid file does not exist"
|
||||
elif ! echo "$RUNPIDS" | grep "\<$(< "$PIDFILE")\>" >/dev/null 2>&1; then
|
||||
echo -n ", but .pid file is stale"
|
||||
fi
|
||||
fi
|
||||
echo
|
||||
else
|
||||
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: stopped"
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
startdaemon() {
|
||||
if ! checkconfigured; then
|
||||
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not started - pre-start tests failed" >&2
|
||||
return 1
|
||||
elif [ ! -e "$EXEC" ]; then
|
||||
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not found" >&2
|
||||
return 1
|
||||
elif [ ! -x "$EXEC" ]; then
|
||||
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not executable" >&2
|
||||
return 1
|
||||
fi
|
||||
"$EXEC" $ARGS
|
||||
return $?
|
||||
}
|
||||
|
||||
stopdaemon() {
|
||||
if ! kill -TERM $(cat "$PIDFILE" 2>/dev/null) >/dev/null 2>&1; then
|
||||
kill -TERM $(pidof -o $$ -o $PPID -o %PPID -x "$EXEC") >/dev/null 2>&1
|
||||
fi
|
||||
sleep 2
|
||||
if checkstatus >/dev/null; then
|
||||
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: failed to stop gracefully - slaying" >&2
|
||||
kill -KILL $(pidof -o $$ -o $PPID -o %PPID -x "$EXEC") >/dev/null 2>&1
|
||||
sleep 2
|
||||
if checkstatus >/dev/null; then
|
||||
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: failed to stop after SIGKILL" >&2
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
'start')
|
||||
if checkstatus >/dev/null; then
|
||||
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: already running" >&2
|
||||
echo " Try: $BASH_SOURCE status" >&2
|
||||
ERR=1
|
||||
else
|
||||
startdaemon
|
||||
ERR=$?
|
||||
fi
|
||||
;;
|
||||
'stop')
|
||||
if ! checkstatus >/dev/null; then
|
||||
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not running" >&2
|
||||
echo " Try: $BASH_SOURCE status" >&2
|
||||
ERR=1
|
||||
else
|
||||
stopdaemon
|
||||
ERR=$?
|
||||
fi
|
||||
;;
|
||||
'restart')
|
||||
if checkstatus >/dev/null; then
|
||||
stopdaemon && startdaemon
|
||||
ERR=$?
|
||||
else
|
||||
startdaemon
|
||||
ERR=$?
|
||||
fi
|
||||
;;
|
||||
'status')
|
||||
checkstatus
|
||||
ERR=$?
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $BASH_SOURCE <start|stop|restart|status>" >&2
|
||||
ERR=1
|
||||
;;
|
||||
esac
|
||||
|
||||
return $ERR 2>/dev/null || exit $ERR
|
||||
105
templates/old/rc.template.new-0.2.8
Executable file
105
templates/old/rc.template.new-0.2.8
Executable file
|
|
@ -0,0 +1,105 @@
|
|||
#!/bin/bash
|
||||
# Version: 0.2.8
|
||||
# Copyright (c) 2005-2017:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
|
||||
EXEC=""
|
||||
ARGS=""
|
||||
PIDFILE=""
|
||||
|
||||
checkconfigured() {
|
||||
# This function can be used to perform any pre-start tests; hopfully to insure the daemon
|
||||
# can start correctly, before actually trying to start it. A return value of 0 means the
|
||||
# tests were passed and the daemon should be started. Any other value prevents the
|
||||
# daemon from being started and an error message will be emitted.
|
||||
return 0
|
||||
}
|
||||
|
||||
checkstatus() {
|
||||
local RUNPIDS="$(pgrep -f "$EXEC")"
|
||||
if [ ! -z "$RUNPIDS" ]; then
|
||||
echo -n "${BASH_SOURCE##*/}: ${EXEC##*/}: running"
|
||||
if [ ! -z "$PIDFILE" ]; then
|
||||
if [ ! -e "$PIDFILE" ]; then
|
||||
echo -n ", but .pid file does not exist"
|
||||
elif ! echo "$RUNPIDS" | grep "\<$(cat "$PIDFILE")\>" >/dev/null 2>&1; then
|
||||
echo -n ", but .pid file is stale"
|
||||
fi
|
||||
fi
|
||||
echo
|
||||
else
|
||||
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: stopped"
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
startdaemon() {
|
||||
if ! checkconfigured; then
|
||||
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not started - pre-start checks failed" >&2
|
||||
return 1
|
||||
elif [ ! -e "$EXEC" ]; then
|
||||
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not found" >&2
|
||||
return 1
|
||||
elif [ ! -x "$EXEC" ]; then
|
||||
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not executable" >&2
|
||||
return 1
|
||||
fi
|
||||
"$EXEC" $ARGS
|
||||
return $?
|
||||
}
|
||||
|
||||
stopdaemon() {
|
||||
if ! kill -TERM "$(cat "$PIDFILE" 2>/dev/null)" >/dev/null 2>&1; then
|
||||
kill -TERM "$(pgrep -f "$EXEC")" >/dev/null 2>&1
|
||||
fi
|
||||
sleep 2
|
||||
if checkstatus >/dev/null; then
|
||||
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: failed to stop gracefully - slaying" >&2
|
||||
kill -KILL "$(pgrep -f "$EXEC")" >/dev/null 2>&1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
'start')
|
||||
if checkstatus >/dev/null; then
|
||||
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: already running" >&2
|
||||
echo " Try: $BASH_SOURCE status" >&2
|
||||
ERR=1
|
||||
else
|
||||
startdaemon
|
||||
ERR=$?
|
||||
fi
|
||||
;;
|
||||
'stop')
|
||||
if ! checkstatus >/dev/null; then
|
||||
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not running" >&2
|
||||
echo " Try: $BASH_SOURCE status" >&2
|
||||
ERR=1
|
||||
else
|
||||
stopdaemon
|
||||
ERR=$?
|
||||
fi
|
||||
;;
|
||||
'restart')
|
||||
if checkstatus >/dev/null; then
|
||||
stopdaemon && sleep 2 && startdaemon
|
||||
ERR=$?
|
||||
else
|
||||
startdaemon
|
||||
ERR=$?
|
||||
fi
|
||||
;;
|
||||
'status')
|
||||
checkstatus
|
||||
ERR=$?
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $BASH_SOURCE <start|stop|restart|status>" >&2
|
||||
ERR=1
|
||||
;;
|
||||
esac
|
||||
|
||||
return $ERR 2>/dev/null || exit $ERR
|
||||
9
templates/old/slack-conflicts-0.2.0
Normal file
9
templates/old/slack-conflicts-0.2.0
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# Version: 0.2.0
|
||||
# Copyright (c) 2005-2011:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
#
|
||||
# Packages which may conflict with other installed packages can be listed here.
|
||||
# For example, 'lprng' conflicts with 'cups' as they are both printing systems.
|
||||
# Packages must be listed one per line and are case sensitive.
|
||||
# No versioning information should be used.
|
||||
6
templates/old/slack-conflicts-0.2.2
Normal file
6
templates/old/slack-conflicts-0.2.2
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# Version: 0.2.2
|
||||
# This is the list of packages which, if installed, will conflict with the
|
||||
# package currently being installed. For example, 'lprng' conflicts with
|
||||
# 'cups' as they are both printing systems.
|
||||
# Packages must be listed one per line and are case sensitive. No versioning
|
||||
# information should be used. This file is only used by slapt-get.
|
||||
23
templates/old/slack-desc-0.2.0
Normal file
23
templates/old/slack-desc-0.2.0
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# Version: 0.2.0
|
||||
# Copyright (c) 2005-2011:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
#
|
||||
# How to use:
|
||||
# * Line up the first '|' of the ruler with the ':' following the package name.
|
||||
# The second '|' is the last colum any characters should be put in.
|
||||
# * There must be exactly 11 lines which begin with the package name and ':'.
|
||||
# * A single space should be left after the ':' before any description text.
|
||||
|
||||
|-----handy-ruler------------------------------------------------------|
|
||||
FIXME: FIXME (FIXME)
|
||||
FIXME:
|
||||
FIXME:
|
||||
FIXME:
|
||||
FIXME:
|
||||
FIXME:
|
||||
FIXME:
|
||||
FIXME:
|
||||
FIXME:
|
||||
FIXME:
|
||||
FIXME: Packaged by: Darren Austin. Built with: %PKG_DIST%
|
||||
15
templates/old/slack-install-0.2.0
Normal file
15
templates/old/slack-install-0.2.0
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
# Version: 0.2.0
|
||||
# Copyright (c) 2005-2011:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
#
|
||||
# This file should list md5sums for all previous versions of a file which is to
|
||||
# be copied into place using the install_file() function in doinst.sh, and is
|
||||
# used to determine if an incoming (.new) file should replace a file already
|
||||
# present on the system. Each entry should have the format:
|
||||
# <filename> <md5sum> [comment]
|
||||
# and each of the elements must be separated by one or more tabs, not spaces.
|
||||
# There can be multiple <filename> entries, each with a different <md5sum>; but
|
||||
# each line must contain at least a filename and md5sum. The [comment] field
|
||||
# is optional, but could be used to detail the source of that md5sum - eg, the
|
||||
# Slackware version, package name and version.
|
||||
10
templates/old/slack-install-0.2.2
Normal file
10
templates/old/slack-install-0.2.2
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# Version: 0.2.2
|
||||
# This file lists the md5sums for all previous versions of a file which is to
|
||||
# be copied into place using the install_file() function in doinst.sh, and is
|
||||
# used to help determine if an incoming (.new) file should replace a file
|
||||
# already on the system. Entries should be one per line, in the format:
|
||||
# <filename> <md5sum> [comment]
|
||||
# where each field must be separated by one or more tabs, *not* spaces.
|
||||
# Multiple entries per <filename>, each with a different <md5sum> can be listed.
|
||||
# Lines which do not contain at least <filename> and <md5sum> are ignored; as is
|
||||
# the optional free form [comment] field always ignored.
|
||||
10
templates/old/slack-install-0.2.3
Normal file
10
templates/old/slack-install-0.2.3
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# Version: 0.2.3
|
||||
# This file lists the md5sums for all previous versions of a file which is to
|
||||
# be copied into place using the install_file() function in doinst.sh, and is
|
||||
# used to help determine if an incoming (.new) file should replace a file
|
||||
# already on the system. Entries should be one per line, in the format:
|
||||
# <md5sum> <filename> [comment]
|
||||
# where each field *must* be separated by one or more tabs, *not* spaces.
|
||||
# Multiple entries per <filename>, each with a different <md5sum> can be listed.
|
||||
# Lines which do not contain at least <filename> and <md5sum> are ignored, as is
|
||||
# the optional free form [comment] field.
|
||||
10
templates/old/slack-install-0.2.4
Normal file
10
templates/old/slack-install-0.2.4
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# Version: 0.2.4
|
||||
# This file lists the md5sums for all previous versions of a file which is to
|
||||
# be copied into place using the install_file() function in doinst.sh, and is
|
||||
# used to help determine if an incoming (.new) file should replace a file
|
||||
# already on the system. Entries should be one per line, in the format:
|
||||
# <md5sum> <filename>
|
||||
# where each field must be separated by any amount of whitespace,
|
||||
# Multiple entries per <filename>, each with a different <md5sum> can be listed.
|
||||
# Lines which do not contain at least <filename> and <md5sum> are ignored.
|
||||
# The output of 'md5sum' is appropriate for an entry in this file.
|
||||
24
templates/old/slack-remove-0.1.0
Normal file
24
templates/old/slack-remove-0.1.0
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# Version: 0.1.0
|
||||
# Copyright (c) 2005-2011:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
#
|
||||
# This file should list md5sums (or special type, see below) for files/paths
|
||||
# which are to be deleted from the system using the remove_file() function in
|
||||
# doinst.sh. The file/path will only be removed if the corresponding <md5sum>
|
||||
# or special type matches that of the item on the system. The md5sum or type
|
||||
# check prevents the deletion of any files which may have been customised by
|
||||
# the administrator. Each entry should have the format:
|
||||
# <path> <md5sum> [comment]
|
||||
# and each of the elements must be separated by one or more tabs, not spaces.
|
||||
# If the <path> to be removed is not a regular file, the corresponding <md5sum>
|
||||
# entry should be one of the following special types (must be in upper case):
|
||||
# DIR - for a directory (Note: will be removed with rm -rf!)
|
||||
# LINK - for a symbolic link (Note: only the symbolic link is removed)
|
||||
# SPECIAL - for sockets, fifos, char/block devices, etc.
|
||||
# FORCE_REMOVE - force a regular file to be deleted without doing any md5sum
|
||||
# checks, but only if the <path> is a regular file.
|
||||
# Paths which are not regular files on the system, and have not been marked
|
||||
# with the correct special type will not be removed. The [comment] field is
|
||||
# optional, but could be used to detail the source of the <md5sum> - eg, the
|
||||
# Slackware version, package name and version.
|
||||
18
templates/old/slack-remove-0.2.2
Normal file
18
templates/old/slack-remove-0.2.2
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# Version: 0.2.2
|
||||
# This file lists the md5sums or special file type for any paths to be deleted
|
||||
# using the remove_file() function in doinst.sh. The entries are used to verify
|
||||
# that a path can be safely removed. Entries are one per line, in the format:
|
||||
# <path> <md5sum> [comment]
|
||||
# where each field must be separated by one or more tabs, *not* spaces.
|
||||
# Multiple entries per <path>, each with a different <md5sum> can be listed.
|
||||
# The free form [comment] field is optional and always ignored, as are lines
|
||||
# which do not contain at least <path> and <md5sum>.
|
||||
# For a regular file at <path> to be deleted, the <md5sum> must match the sum of
|
||||
# that file on the filesystem, or be set as the FORCE_REMOVE special file type.
|
||||
# If the <path> to be removed is not a regular file, the <md5sum> should be one
|
||||
# of the following special file types, which must be listed in upper case:
|
||||
# DIR - for a directory. Note: will be removed with rm -rf!
|
||||
# LINK - for a symbolic link. Note: only the symbolic link is removed.
|
||||
# SPECIAL - for sockets, fifos, char/block devices, etc.
|
||||
# FORCE_REMOVE - force a regular file to be deleted without any checking of the
|
||||
# <md5sum> - but only if <path> is a regular file.
|
||||
16
templates/old/slack-required-0.2.1
Normal file
16
templates/old/slack-required-0.2.1
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# Version: 0.2.1
|
||||
# Copyright (c) 2005-2011:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
#
|
||||
# Required packages are those additional packages that are specifically needed
|
||||
# for the contents of this package to operate correctly.
|
||||
# For example, 'spamassassin' requires the 'perl' package, as it's perl based.
|
||||
# Packages must be listed one per line and are case sensitive. If multiple
|
||||
# packages can satisfy the dependancy (such as 'openssl' or 'openssl-solibs')
|
||||
# the packages should be listed in the format (where '|' means 'OR'):
|
||||
# <pkg1> | <pkg2> [| <pkg3> ...]
|
||||
# Specific package versions can be specified using = >= =< < > operators.
|
||||
# For the = operator, the version must be the full package version string (eg,
|
||||
# 1.2.3-i486-1xx). For the >= =< < > operators, the short package version
|
||||
# (eg, 1.2.3) or the full version string can be used.
|
||||
16
templates/old/slack-suggests-0.2.0
Normal file
16
templates/old/slack-suggests-0.2.0
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# Version: 0.2.0
|
||||
# Copyright (c) 2005-2011:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
#
|
||||
# Suggested packages are those that may be beneficial or provide extra features
|
||||
# or functionality to this package.
|
||||
# For example, the 'php' adds features to the 'apache' webserver package.
|
||||
# Packages must be listed one per line and are case sensitive. If multiple
|
||||
# packages can satisfy the dependancy (such as 'openssl' or 'openssl-solibs')
|
||||
# the packages should be listed in the format (where '|' means 'OR'):
|
||||
# <pkg1> | <pkg2> [| <pkg3> ...]
|
||||
# Specific package versions can be specified using = >= =< < > operators.
|
||||
# For the = >= =< operators, the version must be the full package version
|
||||
# string (eg, 1.2.3-i486-1). For the < > operators, the short package version
|
||||
# (eg, 1.2.3) or the full version strings can be used.
|
||||
226
templates/old/template.SlackBuild-0.4.3
Executable file
226
templates/old/template.SlackBuild-0.4.3
Executable file
|
|
@ -0,0 +1,226 @@
|
|||
#!/bin/bash
|
||||
# Version: 0.4.3
|
||||
# Copyright (c) 2005-2011:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
#
|
||||
# Required sources:
|
||||
# FIXME
|
||||
#
|
||||
|
||||
# Source details.
|
||||
SRC_NAME=""
|
||||
SRC_DELIM=""
|
||||
SRC_VERSION=""
|
||||
SRC_EXT="tar.gz"
|
||||
|
||||
# Package details.
|
||||
PKG_NAME="$SRC_NAME"
|
||||
PKG_VERSION="$SRC_VERSION"
|
||||
PKG_BUILD=""
|
||||
PKG_TAG=""
|
||||
PKG_EXT="txz"
|
||||
|
||||
# Packages which must be installed to build.
|
||||
BUILD_REQUIRED=""
|
||||
|
||||
# Packages which must not be installed to build.
|
||||
BUILD_CONFLICTS="$PKG_NAME"
|
||||
|
||||
# Build setup.
|
||||
if [ -e $(cd ${BASH_SOURCE%/*}; pwd -P)/../build.options ]; then
|
||||
source $(cd ${BASH_SOURCE%/*}; pwd -P)/../build.options || exit 1
|
||||
fi
|
||||
BUILD_PREFIX="${BUILD_PREFIX:-/usr}"
|
||||
BUILD_WORKDIR="${TMP:-/tmp}/pkg-build"
|
||||
BUILD_ROOT="$BUILD_WORKDIR/$PKG_NAME"
|
||||
if [[ "$(arch)" = i[456]86 ]]; then
|
||||
BUILD_CFLAGS="${BUILD_CFLAGS:--march=i486 -mtune=i686 -O2}"
|
||||
BUILD_LIBDIRSUFFIX="${BUILD_LIBDIRSUFFIX:-}"
|
||||
BUILD_MAKEFLAGS="${BUILD_MAKEFLAGS:--j2}"
|
||||
PKG_ARCH="i486"
|
||||
PKG_DIST="Slackware"
|
||||
elif [ "$(arch)" = "x86_64" ]; then
|
||||
BUILD_CFLAGS="${BUILD_CFLAGS:--march=athlon64 -mtune=core2 -O2 -fPIC}"
|
||||
BUILD_LIBDIRSUFFIX="${BUILD_LIBDIRSUFFIX:-64}"
|
||||
BUILD_MAKEFLAGS="${BUILD_MAKEFLAGS:--j4}"
|
||||
PKG_ARCH="x86_64"
|
||||
PKG_DIST="Slackware64"
|
||||
else
|
||||
echo "${0##*/}: $(arch): unsupported architecture."
|
||||
exit 1
|
||||
fi
|
||||
PKG_DIST="$PKG_DIST $(cut -d' ' -f2 /etc/slackware-version 2>/dev/null | cut -d. -f1,2)"
|
||||
PKG_STORE="$(cd ${PKG_STORE:-../../packages}; pwd -P)"
|
||||
SRC_DIR="$(pwd)"
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
if [[ "$1" =~ ^-{1,2}f(orce)?$ ]]; then
|
||||
BUILD_FORCE=1
|
||||
elif [[ "$1" =~ ^-{1,2}n(o-cleanup)?$ ]]; then
|
||||
BUILD_NOCLEANUP=1
|
||||
else
|
||||
echo "Usage: ${0##*/} [--force] [--no-cleanup]"; exit 1
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
if [ "$BUILD_FORCE" != "1" ]; then
|
||||
check_installed() {
|
||||
# $1 = Package name to match [required].
|
||||
ls -1 /var/log/packages | grep -P "^\Q${1}\E-([^-]*)-([^-]*)-([^-]*)$" >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
for PKG in $BUILD_REQUIRED; do
|
||||
if ! check_installed "$PKG"; then
|
||||
echo "${0##*/}: Required package '$PKG' not installed."; exit 1
|
||||
fi
|
||||
done
|
||||
for PKG in $BUILD_CONFLICTS; do
|
||||
if check_installed "$PKG"; then
|
||||
echo "${0##*/}: Conflicting package '$PKG' installed."; exit 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
umask 0022 &&
|
||||
rm -rf $BUILD_ROOT $BUILD_WORKDIR/$SRC_NAME$SRC_DELIM$SRC_VERSION &&
|
||||
mkdir -p -m 750 $BUILD_WORKDIR &&
|
||||
mkdir -m 755 $BUILD_ROOT || exit 1
|
||||
|
||||
case $SRC_EXT in
|
||||
tar.gz|tgz) DECOMP="gzip" ;;&
|
||||
tar.bz|tar.bz2|tbz) DECOMP="bzip2" ;;&
|
||||
tar.xz|tar.lz|txz|tlz) DECOMP="lzma" ;;&
|
||||
tar.*|tgz|tbz|txz|tlz) tar -xv --$DECOMP -C $BUILD_WORKDIR \
|
||||
-f $SRC_DIR/$SRC_NAME$SRC_DELIM$SRC_VERSION.$SRC_EXT || exit 1 ;;
|
||||
zip|ZIP) unzip -d $BUILD_WORKDIR \
|
||||
$SRC_DIR/$SRC_NAME$SRC_DELIM$SRC_VERSION.$SRC_EXT || exit 1 ;;
|
||||
*) echo "${0##*/}: $SRC_EXT: unknown archive format."; exit 1 ;;
|
||||
esac
|
||||
cd $BUILD_WORKDIR/$SRC_NAME$SRC_DELIM$SRC_VERSION &&
|
||||
chown -R root:root . &&
|
||||
chmod -R go-w . || exit 1
|
||||
|
||||
#........1.........2.........3.........4.........5.........6.........7.........8.........9*........0.........1.........2
|
||||
CFLAGS="$BUILD_CFLAGS" CXXFLAGS="$BUILD_CFLAGS" ./configure --prefix=$BUILD_PREFIX \
|
||||
--libdir=$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX --sysconfdir=/etc/$PKG_NAME \
|
||||
--localstatedir=/var --mandir=$BUILD_PREFIX/man --infodir=$BUILD_PREFIX/info \
|
||||
--docdir=$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION --build=$PKG_ARCH-slackware-linux \
|
||||
--enable-shared --disable-static \
|
||||
FIXME &&
|
||||
make $BUILD_MAKEFLAGS &&
|
||||
make $BUILD_MAKEFLAGS DESTDIR=$BUILD_ROOT install || exit 1
|
||||
|
||||
mkdir -p -m 755 $BUILD_ROOT/$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION &&
|
||||
cp FIXME \
|
||||
$BUILD_ROOT/$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION || exit 1
|
||||
|
||||
###############################################################################
|
||||
# Nothing below this notice should be changed or removed without good reason! #
|
||||
###############################################################################
|
||||
|
||||
for FILE in $(ls -1d $SRC_DIR/profile.d/* $SRC_DIR/rc.d/* 2>/dev/null); do
|
||||
DIR="$(dirname $FILE | sed -e "s:^$SRC_DIR:$BUILD_ROOT/etc:")"
|
||||
mkdir -p -m 755 $DIR &&
|
||||
cat $FILE | sed \
|
||||
-e "s:%BUILD_PREFIX%:$BUILD_PREFIX:g" \
|
||||
-e "s:%BUILD_LIBDIRSUFFIX%:$BUILD_LIBDIRSUFFIX:g" \
|
||||
>$DIR/${FILE##*/} &&
|
||||
chmod --reference=$FILE $DIR/${FILE##*/} || exit 1
|
||||
done
|
||||
|
||||
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 '^#|^$' $SRC_DIR/$FILE | sed \
|
||||
-e "s:%BUILD_PREFIX%:$BUILD_PREFIX:g" \
|
||||
-e "s:%BUILD_LIBDIRSUFFIX%:$BUILD_LIBDIRSUFFIX: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" \
|
||||
-e "s:%PKG_DIST%:$PKG_DIST:g" \
|
||||
-e "s:%PKG_STORE%:$PKG_STORE:g" >$BUILD_ROOT/install/$FILE || exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
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
|
||||
|
||||
find $BUILD_ROOT | xargs -r file | egrep "ELF.*(executable|shared object)" | \
|
||||
cut -d: -f1 | xargs -r strip --strip-unneeded || exit 1
|
||||
|
||||
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;
|
||||
elif [ ! -e %h/%l ]; then echo "Dangling symlink: %p"; exit 1; fi\n' | \
|
||||
bash || 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;
|
||||
elif [ ! -e %h/%l ]; then echo "Dangling symlink: %p"; exit 1; fi\n' | \
|
||||
bash || exit 1
|
||||
fi
|
||||
|
||||
if ls $BUILD_ROOT/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl* >/dev/null 2>&1; then
|
||||
find $BUILD_ROOT/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl* -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/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl* -name perllocal.pod | \
|
||||
xargs -r -I{} mv {} {}.new || exit 1
|
||||
fi
|
||||
|
||||
if [[ "$BUILD_PREFIX" =~ ^/opt/($PKG_NAME|$SRC_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
|
||||
|
||||
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 | egrep -v '^#|^$|^ ' | egrep "[[:alnum:]]+:" \
|
||||
>$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 $BUILD_WORKDIR/$SRC_NAME$SRC_DELIM$SRC_VERSION
|
||||
fi
|
||||
|
||||
echo
|
||||
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"
|
||||
226
templates/old/template.SlackBuild-0.4.4
Executable file
226
templates/old/template.SlackBuild-0.4.4
Executable file
|
|
@ -0,0 +1,226 @@
|
|||
#!/bin/bash
|
||||
# Version: 0.4.4
|
||||
# Copyright (c) 2005-2016:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
#
|
||||
# Required sources:
|
||||
# FIXME
|
||||
#
|
||||
|
||||
# Source details.
|
||||
SRC_NAME=""
|
||||
SRC_DELIM=""
|
||||
SRC_VERSION=""
|
||||
SRC_EXT="tar.gz"
|
||||
|
||||
# Package details.
|
||||
PKG_NAME="$SRC_NAME"
|
||||
PKG_VERSION="$SRC_VERSION"
|
||||
PKG_BUILD=""
|
||||
PKG_TAG="da"
|
||||
PKG_EXT="txz"
|
||||
|
||||
# Packages which must be installed to build.
|
||||
BUILD_REQUIRED=""
|
||||
|
||||
# Packages which must not be installed to build.
|
||||
BUILD_CONFLICTS="$PKG_NAME"
|
||||
|
||||
# Build setup.
|
||||
if [ -e $(cd ${BASH_SOURCE%/*}; pwd -P)/../build.options ]; then
|
||||
source $(cd ${BASH_SOURCE%/*}; pwd -P)/../build.options || exit 1
|
||||
fi
|
||||
BUILD_PREFIX="${BUILD_PREFIX:-/usr}"
|
||||
BUILD_WORKDIR="${TMP:-/tmp}/pkg-build"
|
||||
BUILD_ROOT="$BUILD_WORKDIR/$PKG_NAME"
|
||||
if [[ "$(arch)" == i[456]86 ]]; then
|
||||
BUILD_CFLAGS="${BUILD_CFLAGS:--march=i486 -mtune=i686 -O2}"
|
||||
BUILD_LIBDIRSUFFIX="${BUILD_LIBDIRSUFFIX:-}"
|
||||
BUILD_MAKEFLAGS="${BUILD_MAKEFLAGS:--j2}"
|
||||
PKG_ARCH="i486"
|
||||
PKG_DIST="Slackware"
|
||||
elif [ "$(arch)" = "x86_64" ]; then
|
||||
BUILD_CFLAGS="${BUILD_CFLAGS:--march=athlon64 -mtune=core2 -O2 -fPIC}"
|
||||
BUILD_LIBDIRSUFFIX="${BUILD_LIBDIRSUFFIX:-64}"
|
||||
BUILD_MAKEFLAGS="${BUILD_MAKEFLAGS:--j4}"
|
||||
PKG_ARCH="x86_64"
|
||||
PKG_DIST="Slackware64"
|
||||
else
|
||||
echo "${0##*/}: $(arch): unsupported architecture."
|
||||
exit 1
|
||||
fi
|
||||
PKG_DIST="$PKG_DIST $(cut -d' ' -f2 /etc/slackware-version 2>/dev/null | cut -d. -f1,2)"
|
||||
PKG_STORE="$(cd ${PKG_STORE:-../../packages}; pwd -P)"
|
||||
SRC_DIR="$(pwd)"
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
if [[ "$1" =~ ^-{1,2}f(orce)?$ ]]; then
|
||||
BUILD_FORCE=1
|
||||
elif [[ "$1" =~ ^-{1,2}n(o-cleanup)?$ ]]; then
|
||||
BUILD_NOCLEANUP=1
|
||||
else
|
||||
echo "Usage: ${0##*/} [--force] [--no-cleanup]"; exit 1
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
if [ "$BUILD_FORCE" != "1" ]; then
|
||||
check_installed() {
|
||||
# $1 = Package name to match [required].
|
||||
ls -1 /var/log/packages | grep -P "^\Q${1}\E-([^-]*)-([^-]*)-([^-]*)$" >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
for PKG in $BUILD_REQUIRED; do
|
||||
if ! check_installed "$PKG"; then
|
||||
echo "${0##*/}: Required package '$PKG' not installed."; exit 1
|
||||
fi
|
||||
done
|
||||
for PKG in $BUILD_CONFLICTS; do
|
||||
if check_installed "$PKG"; then
|
||||
echo "${0##*/}: Conflicting package '$PKG' installed."; exit 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
umask 0022 &&
|
||||
rm -rf $BUILD_ROOT $BUILD_WORKDIR/$SRC_NAME$SRC_DELIM$SRC_VERSION &&
|
||||
mkdir -p -m 750 $BUILD_WORKDIR &&
|
||||
mkdir -m 755 $BUILD_ROOT || exit 1
|
||||
|
||||
case $SRC_EXT in
|
||||
tar.gz|tgz) DECOMP="gzip" ;;&
|
||||
tar.bz|tar.bz2|tbz) DECOMP="bzip2" ;;&
|
||||
tar.xz|tar.lz|txz|tlz) DECOMP="lzma" ;;&
|
||||
tar.*|tgz|tbz|txz|tlz) tar -xv --$DECOMP -C $BUILD_WORKDIR \
|
||||
-f $SRC_DIR/$SRC_NAME$SRC_DELIM$SRC_VERSION.$SRC_EXT || exit 1 ;;
|
||||
zip|ZIP) unzip -d $BUILD_WORKDIR \
|
||||
$SRC_DIR/$SRC_NAME$SRC_DELIM$SRC_VERSION.$SRC_EXT || exit 1 ;;
|
||||
*) echo "${0##*/}: $SRC_EXT: unknown archive format."; exit 1 ;;
|
||||
esac
|
||||
cd $BUILD_WORKDIR/$SRC_NAME$SRC_DELIM$SRC_VERSION &&
|
||||
chown -R root:root . &&
|
||||
chmod -R go-w . || exit 1
|
||||
|
||||
#........1.........2.........3.........4.........5.........6.........7.........8.........9.........0.........1.........2...
|
||||
CFLAGS="$BUILD_CFLAGS" CXXFLAGS="$BUILD_CFLAGS" ./configure --prefix=$BUILD_PREFIX \
|
||||
--libdir=$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX --sysconfdir=/etc/$PKG_NAME \
|
||||
--localstatedir=/var --mandir=$BUILD_PREFIX/man --infodir=$BUILD_PREFIX/info \
|
||||
--docdir=$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION --build=$PKG_ARCH-slackware-linux \
|
||||
--enable-shared --disable-static \
|
||||
FIXME &&
|
||||
make $BUILD_MAKEFLAGS &&
|
||||
make $BUILD_MAKEFLAGS DESTDIR=$BUILD_ROOT install || exit 1
|
||||
|
||||
mkdir -p -m 755 $BUILD_ROOT/$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION &&
|
||||
cp FIXME \
|
||||
$BUILD_ROOT/$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION || exit 1
|
||||
|
||||
###############################################################################
|
||||
# Nothing below this notice should be changed or removed without good reason! #
|
||||
###############################################################################
|
||||
|
||||
for FILE in $(ls -1d $SRC_DIR/profile.d/* $SRC_DIR/rc.d/* 2>/dev/null); do
|
||||
DIR="$(dirname $FILE | sed -e "s:^$SRC_DIR:$BUILD_ROOT/etc:")"
|
||||
mkdir -p -m 755 $DIR &&
|
||||
cat $FILE | sed \
|
||||
-e "s:%BUILD_PREFIX%:$BUILD_PREFIX:g" \
|
||||
-e "s:%BUILD_LIBDIRSUFFIX%:$BUILD_LIBDIRSUFFIX:g" \
|
||||
>$DIR/${FILE##*/} &&
|
||||
chmod --reference=$FILE $DIR/${FILE##*/} || exit 1
|
||||
done
|
||||
|
||||
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 '^#|^$' $SRC_DIR/$FILE | sed \
|
||||
-e "s:%BUILD_PREFIX%:$BUILD_PREFIX:g" \
|
||||
-e "s:%BUILD_LIBDIRSUFFIX%:$BUILD_LIBDIRSUFFIX: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" \
|
||||
-e "s:%PKG_DIST%:$PKG_DIST:g" \
|
||||
-e "s:%PKG_STORE%:$PKG_STORE:g" >$BUILD_ROOT/install/$FILE || exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
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
|
||||
|
||||
find $BUILD_ROOT | xargs -r file | egrep "ELF.*(executable|shared object)" | \
|
||||
cut -d: -f1 | xargs -r strip --strip-unneeded || exit 1
|
||||
|
||||
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;
|
||||
elif [ ! -e %h/%l ]; then echo "Dangling symlink: %p"; exit 1; fi\n' | \
|
||||
bash || 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;
|
||||
elif [ ! -e %h/%l ]; then echo "Dangling symlink: %p"; exit 1; fi\n' | \
|
||||
bash || exit 1
|
||||
fi
|
||||
|
||||
if ls $BUILD_ROOT/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl* >/dev/null 2>&1; then
|
||||
find $BUILD_ROOT/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl* -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/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl* -name perllocal.pod | \
|
||||
xargs -r -I{} mv {} {}.new || exit 1
|
||||
fi
|
||||
|
||||
if [[ "$BUILD_PREFIX" =~ ^/opt/($PKG_NAME|$SRC_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
|
||||
|
||||
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 | egrep -v '^#|^$|^ ' | egrep "[[:alnum:]]+:" \
|
||||
>$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 $BUILD_WORKDIR/$SRC_NAME$SRC_DELIM$SRC_VERSION
|
||||
fi
|
||||
|
||||
echo
|
||||
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"
|
||||
240
templates/old/template.SlackBuild-0.5.0
Executable file
240
templates/old/template.SlackBuild-0.5.0
Executable file
|
|
@ -0,0 +1,240 @@
|
|||
#!/bin/bash
|
||||
# Version: 0.5.0
|
||||
# Copyright (c) 2005-2016:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
#
|
||||
# Required sources:
|
||||
# FIXME
|
||||
#
|
||||
|
||||
# Source file details.
|
||||
SRCFILE_NAME=""
|
||||
SRCFILE_DELIM=""
|
||||
SRCFILE_VERSION=""
|
||||
SRCFILE_EXT=""
|
||||
|
||||
# Unpacked source directory details.
|
||||
SRCDIR_NAME="$SRCFILE_NAME"
|
||||
SRCDIR_DELIM="$SRCFILE_DELIM"
|
||||
SRCDIR_VERSION="$SRCFILE_VERSION"
|
||||
|
||||
# Built package details.
|
||||
PKG_NAME="$(basename "$BASH_SOURCE" .SlackBuild)"
|
||||
PKG_VERSION="${SRCFILE_VERSION:-$SRCDIR_VERSION}"
|
||||
PKG_BUILD=""
|
||||
PKG_TAG="_da"
|
||||
PKG_EXT="txz"
|
||||
|
||||
# Packages which must be installed to build.
|
||||
BUILD_REQUIRED=""
|
||||
|
||||
# Packages which must not be installed to build.
|
||||
BUILD_CONFLICTS="$PKG_NAME"
|
||||
|
||||
|
||||
#........1.........2.........3.........4.........5.........6.........7.........8.........9.........0.........1.........2
|
||||
|
||||
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
|
||||
else
|
||||
echo "Usage: ${0##*/} [-f|--force] [-n|--no-cleanup]"; exit 1
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
if [[ "$BUILD_FORCE" != "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 "${0##*/}: Conflicting package '$PKG' installed."; exit 1
|
||||
fi
|
||||
done
|
||||
for PKG in $BUILD_REQUIRED; do
|
||||
if ! check_installed "$PKG"; then
|
||||
echo "${0##*/}: Required package '$PKG' not installed."; exit 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
declare BUILD_OS_$(grep "^ID=" /etc/os-release)
|
||||
declare BUILD_OS_$(grep "^VERSION_ID=" /etc/os-release)
|
||||
[[ -e ../build.options ]] && {
|
||||
. ../build.options || exit 1
|
||||
}
|
||||
BUILD_WORKDIR="${BUILD_WORKDIR:-/tmp}/pkg-build"
|
||||
BUILD_ROOT="$BUILD_WORKDIR/$PKG_NAME"
|
||||
BUILD_PREFIX="${BUILD_PREFIX:-/usr}" # Slackware standard prefix.
|
||||
BUILD_MAKEFLAGS="${BUILD_MAKEFLAGS:--j6}"
|
||||
case "${BUILD_ARCH:=$(uname -m)}" in
|
||||
i[45]86)
|
||||
BUILD_CFLAGS="${BUILD_CFLAGS:--march=$BUILD_ARCH -mtune=${BUILD_TUNE:-i686} -O2}"
|
||||
PKG_ARCH="$BUILD_ARCH"
|
||||
;;
|
||||
i686)
|
||||
BUILD_CFLAGS="${BUILD_CFLAGS:--march=$BUILD_ARCH -mtune=${BUILD_TUNE:-pentium4} -O2}"
|
||||
PKG_ARCH="$BUILD_ARCH"
|
||||
;;
|
||||
x86_64|x86-64)
|
||||
BUILD_CFLAGS="${BUILD_CFLAGS:--march=x86-64 -mtune=${BUILD_TUNE:-core2} -O2 -fPIC}"
|
||||
BUILD_LIBDIRSUFFIX="${BUILD_LIBDIRSUFFIX:-64}"
|
||||
PKG_ARCH="x86_64"
|
||||
;;
|
||||
*)
|
||||
echo "${0##*/}: ${BUILD_ARCH:-$(uname -m)}: unsupported architecture."; exit 1
|
||||
;;
|
||||
esac
|
||||
PKG_STORE="$(cd ${PKG_STORE:-../../packages}; pwd -P)/$BUILD_OS_ID$BUILD_LIBDIRSUFFIX-$BUILD_OS_VERSION_ID"
|
||||
|
||||
SRC_DIR="$(pwd)"
|
||||
umask 0022 &&
|
||||
rm -rf "$BUILD_ROOT" "$BUILD_WORKDIR/$SRCDIR_NAME$SRCDIR_DELIM$SRCDIR_VERSION" &&
|
||||
mkdir -p -m 750 "$BUILD_WORKDIR" &&
|
||||
mkdir -m 755 "$BUILD_ROOT" || exit 1
|
||||
|
||||
case "$SRCFILE_EXT" in
|
||||
tar.gz|tgz) SRCFILE_DECOMP="gzip" ;;&
|
||||
tar.bz|tar.bz2|tbz) SRCFILE_DECOMP="bzip2" ;;&
|
||||
tar.xz|tar.lz|txz|tlz) SRCFILE_DECOMP="lzma" ;;&
|
||||
tar.*|tgz|tbz|txz|tlz) tar -xv "--$SRCFILE_DECOMP" -C "$BUILD_WORKDIR" \
|
||||
-f "$SRC_DIR/$SRCFILE_NAME$SRCFILE_DELIM$SRCFILE_VERSION.$SRCFILE_EXT" || exit 1 ;;
|
||||
zip|ZIP) unzip -d "$BUILD_WORKDIR" "$SRC_DIR/$SRCFILE_NAME$SRCFILE_DELIM$SRCFILE_VERSION.$SRCFILE_EXT" || exit 1 ;;
|
||||
*) echo "${0##*/}: $SRCFILE_EXT: unknown archive format."; exit 1 ;;
|
||||
esac
|
||||
cd "$BUILD_WORKDIR/$SRCDIR_NAME$SRCDIR_DELIM$SRCDIR_VERSION" &&
|
||||
chown -R root:root . &&
|
||||
chmod -R go-w . || exit 1
|
||||
|
||||
# zcat $SRC_DIR/FIXME.patch.gz | patch -p0 || exit 1
|
||||
|
||||
CFLAGS="$BUILD_CFLAGS" CXXFLAGS="${BUILD_CXXFLAGS:-$BUILD_CFLAGS}" LDFLAGS="$BUILD_LDFLAGS" \
|
||||
./configure --prefix="$BUILD_PREFIX" --libdir="$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX" \
|
||||
--sysconfdir="/etc/$PKG_NAME" --localstatedir="/var" --mandir="$BUILD_PREFIX/man" \
|
||||
--infodir="$BUILD_PREFIX/info" --docdir="$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION" \
|
||||
--build="$PKG_ARCH-slackware-linux" --enable-shared --disable-static \
|
||||
FIXME &&
|
||||
make "$BUILD_MAKEFLAGS" &&
|
||||
make "$BUILD_MAKEFLAGS" DESTDIR="$BUILD_ROOT" install || exit 1
|
||||
|
||||
mkdir -p -m 755 "$BUILD_ROOT/$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION" &&
|
||||
cp FIXME \
|
||||
"$BUILD_ROOT/$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION" || exit 1
|
||||
|
||||
# mkdir -p -m 755 "$BUILD_ROOT/etc/rc.d" &&
|
||||
# cat "$SRC_DIR/rc.FIXME" | sed -e "s:%BUILD_PREFIX%:$BUILD_PREFIX:g" >"$BUILD_ROOT/etc/rc.d/rc.FIXME" &&
|
||||
# chmod 755 "$BUILD_ROOT/etc/rc.d/rc.FIXME" || exit 1
|
||||
|
||||
# mkdir -p -m 755 "$BUILD_ROOT/etc/profile.d" &&
|
||||
# for FILE in "$SRC_DIR/FIXME.{csh,sh}"; do
|
||||
# cat "$FILE" | sed -e "s:%BUILD_PREFIX%:$BUILD_PREFIX:g" | sed -e "s:%BUILD_LIBDIRSUFFIX%:$BUILD_LIBDIRSUFFIX:g" \
|
||||
# >"$BUILD_ROOT/etc/profile.d/${FILE##*/}" &&
|
||||
# chmod 755 "$BUILD_ROOT/etc/profile.d/${FILE##*/}" || exit 1
|
||||
# done
|
||||
|
||||
# mkdir -p -m 755 "$BUILD_ROOT/etc/logrotate.d" &&
|
||||
# cat "$SRC_DIR/FIXME.logrotate" >"$BUILD_ROOT/etc/logrotate.d/FIXME" || exit 1
|
||||
|
||||
###############################################################################
|
||||
# Nothing below this notice should be changed or removed without good reason! #
|
||||
###############################################################################
|
||||
|
||||
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; \
|
||||
elif [ ! -e "%h/%l" ]; then echo 'Dangling symlink: %p'; exit 1; fi\n' | bash || 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; \
|
||||
elif [ ! -e "%h/%l" ]; then echo 'Dangling symlink: %p'; exit 1; fi\n' | bash || exit 1
|
||||
fi
|
||||
|
||||
if ls "$BUILD_ROOT/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl*" >/dev/null 2>&1; then
|
||||
find "$BUILD_ROOT/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl*" -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/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl*" -name perllocal.pod | \
|
||||
xargs -r -I{} mv {} {}.new || exit 1
|
||||
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 '^#|^$' "$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 | egrep -v '^#|^$|^ ' | egrep "[[:alnum:]]+:" \
|
||||
>"$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" "$BUILD_WORKDIR/$SRCDIR_NAME$SRCDIR_DELIM$SRCDIR_VERSION"
|
||||
fi
|
||||
|
||||
echo
|
||||
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"
|
||||
246
templates/old/template.SlackBuild-0.5.1
Executable file
246
templates/old/template.SlackBuild-0.5.1
Executable file
|
|
@ -0,0 +1,246 @@
|
|||
#!/bin/bash
|
||||
# Version: 0.5.1
|
||||
# Copyright (c) 2005-2016:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
#
|
||||
# Required sources:
|
||||
# FIXME: FIXME
|
||||
#
|
||||
|
||||
# Source file details.
|
||||
SRCFILE_NAME=""
|
||||
SRCFILE_DELIM=""
|
||||
SRCFILE_VERSION=""
|
||||
SRCFILE_EXT=""
|
||||
|
||||
# Unpacked source directory details.
|
||||
SRCDIR_NAME="$SRCFILE_NAME"
|
||||
SRCDIR_DELIM="$SRCFILE_DELIM"
|
||||
SRCDIR_VERSION="$SRCFILE_VERSION"
|
||||
|
||||
# Built package details.
|
||||
PKG_NAME="$(basename "$BASH_SOURCE" .SlackBuild)"
|
||||
PKG_VERSION="${SRCFILE_VERSION:-$SRCDIR_VERSION}"
|
||||
PKG_BUILD="1"
|
||||
PKG_TAG="_da"
|
||||
PKG_EXT="txz"
|
||||
|
||||
# Packages which must be installed to build.
|
||||
BUILD_REQUIRED=""
|
||||
|
||||
# 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
|
||||
else
|
||||
echo "Usage: ${0##*/} [-f|--force] [-n|--no-cleanup]"; exit 1
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
if [[ "$BUILD_FORCE" != "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 "${0##*/}: Conflicting package '$PKG' installed."; exit 1
|
||||
fi
|
||||
done
|
||||
for PKG in $BUILD_REQUIRED; do
|
||||
if ! check_installed "$PKG"; then
|
||||
echo "${0##*/}: Required package '$PKG' not installed."; exit 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
declare BUILD_OS_$(grep "^ID=" /etc/os-release)
|
||||
declare BUILD_OS_$(grep "^VERSION_ID=" /etc/os-release)
|
||||
[[ -e ../build.options ]] && {
|
||||
. ../build.options || exit 1
|
||||
}
|
||||
BUILD_WORKDIR="${BUILD_WORKDIR:-/tmp}/pkg-build"
|
||||
BUILD_ROOT="$BUILD_WORKDIR/$PKG_NAME"
|
||||
BUILD_PREFIX="${BUILD_PREFIX:-/usr}" # Slackware standard prefix.
|
||||
BUILD_MAKEFLAGS="${BUILD_MAKEFLAGS:--j6}"
|
||||
case "${BUILD_ARCH:=$(uname -m)}" in
|
||||
i[45]86)
|
||||
BUILD_CFLAGS="${BUILD_CFLAGS:--march=$BUILD_ARCH -mtune=${BUILD_TUNE:-i686} -O2}"
|
||||
PKG_ARCH="$BUILD_ARCH"
|
||||
;;
|
||||
i686)
|
||||
BUILD_CFLAGS="${BUILD_CFLAGS:--march=$BUILD_ARCH -mtune=${BUILD_TUNE:-pentium4} -O2}"
|
||||
PKG_ARCH="$BUILD_ARCH"
|
||||
;;
|
||||
x86_64|x86-64)
|
||||
BUILD_CFLAGS="${BUILD_CFLAGS:--march=x86-64 -mtune=${BUILD_TUNE:-core2} -O2 -fPIC}"
|
||||
BUILD_LIBDIRSUFFIX="${BUILD_LIBDIRSUFFIX:-64}"
|
||||
PKG_ARCH="x86_64"
|
||||
;;
|
||||
*)
|
||||
echo "${0##*/}: ${BUILD_ARCH:-$(uname -m)}: unsupported architecture."; exit 1
|
||||
;;
|
||||
esac
|
||||
PKG_STORE="${PKG_STORE:-/tmp/pkg-store/$BUILD_OS_ID$BUILD_LIBDIRSUFFIX-$BUILD_OS_VERSION_ID}"
|
||||
|
||||
SRC_DIR="$(pwd)"
|
||||
umask 0022 &&
|
||||
rm -rf "$BUILD_ROOT" "$BUILD_WORKDIR/$SRCDIR_NAME$SRCDIR_DELIM$SRCDIR_VERSION" &&
|
||||
mkdir -p -m 750 "$BUILD_WORKDIR" &&
|
||||
mkdir -m 755 "$BUILD_ROOT" || exit 1
|
||||
|
||||
case "$SRCFILE_EXT" in
|
||||
tar.gz|tgz) SRCFILE_DECOMP="gzip" ;;&
|
||||
tar.bz|tar.bz2|tbz) SRCFILE_DECOMP="bzip2" ;;&
|
||||
tar.xz|tar.lz|txz|tlz) SRCFILE_DECOMP="lzma" ;;&
|
||||
tar.*|tgz|tbz|txz|tlz) tar -xv "--$SRCFILE_DECOMP" -C "$BUILD_WORKDIR" \
|
||||
-f "$SRC_DIR/$SRCFILE_NAME$SRCFILE_DELIM$SRCFILE_VERSION.$SRCFILE_EXT" || exit 1 ;;
|
||||
zip|ZIP) unzip -d "$BUILD_WORKDIR" "$SRC_DIR/$SRCFILE_NAME$SRCFILE_DELIM$SRCFILE_VERSION.$SRCFILE_EXT" || exit 1 ;;
|
||||
*) echo "${0##*/}: $SRCFILE_EXT: unknown archive format."; exit 1 ;;
|
||||
esac
|
||||
cd "$BUILD_WORKDIR/$SRCDIR_NAME$SRCDIR_DELIM$SRCDIR_VERSION" &&
|
||||
chown -R root:root . &&
|
||||
chmod -R go-w . || exit 1
|
||||
|
||||
# zcat $SRC_DIR/FIXME.patch.gz | patch -p0 || exit 1
|
||||
|
||||
CFLAGS="$BUILD_CFLAGS" CXXFLAGS="${BUILD_CXXFLAGS:-$BUILD_CFLAGS}" LDFLAGS="$BUILD_LDFLAGS" \
|
||||
./configure --prefix="$BUILD_PREFIX" --libdir="$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX" \
|
||||
--sysconfdir="/etc/$PKG_NAME" --localstatedir="/var" --mandir="$BUILD_PREFIX/man" \
|
||||
--infodir="$BUILD_PREFIX/info" --docdir="$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION" \
|
||||
--build="$PKG_ARCH-slackware-linux" --enable-shared --disable-static \
|
||||
FIXME &&
|
||||
make "$BUILD_MAKEFLAGS" &&
|
||||
make "$BUILD_MAKEFLAGS" DESTDIR="$BUILD_ROOT" install || exit 1
|
||||
|
||||
mkdir -p -m 755 "$BUILD_ROOT/$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION" &&
|
||||
cp FIXME \
|
||||
"$BUILD_ROOT/$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION" || exit 1
|
||||
|
||||
# mkdir -p -m 755 "$BUILD_ROOT/etc/rc.d" &&
|
||||
# cat "$SRC_DIR/rc.FIXME" | sed -e "s:%BUILD_PREFIX%:$BUILD_PREFIX:g" >"$BUILD_ROOT/etc/rc.d/rc.FIXME" &&
|
||||
# chmod 755 "$BUILD_ROOT/etc/rc.d/rc.FIXME" || exit 1
|
||||
|
||||
# mkdir -p -m 755 "$BUILD_ROOT/etc/profile.d" &&
|
||||
# for FILE in "$SRC_DIR/FIXME.{csh,sh}"; do
|
||||
# cat "$FILE" | sed -e "s:%BUILD_PREFIX%:$BUILD_PREFIX:g" | sed -e "s:%BUILD_LIBDIRSUFFIX%:$BUILD_LIBDIRSUFFIX:g" \
|
||||
# >"$BUILD_ROOT/etc/profile.d/${FILE##*/}" &&
|
||||
# chmod 755 "$BUILD_ROOT/etc/profile.d/${FILE##*/}" || exit 1
|
||||
# done
|
||||
|
||||
# mkdir -p -m 755 "$BUILD_ROOT/etc/logrotate.d" &&
|
||||
# cat "$SRC_DIR/FIXME.logrotate" >"$BUILD_ROOT/etc/logrotate.d/FIXME" || exit 1
|
||||
|
||||
###############################################################################
|
||||
# Nothing below this notice should be changed or removed without good reason! #
|
||||
###############################################################################
|
||||
|
||||
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 "Dangling symlink: %p"; 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 "Dangling symlink: %p"; exit 1
|
||||
fi\n' | bash -x || exit 1
|
||||
fi
|
||||
|
||||
if ls "$BUILD_ROOT/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl*" >/dev/null 2>&1; then
|
||||
find "$BUILD_ROOT/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl*" -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/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl*" -name perllocal.pod | \
|
||||
xargs -r -I{} mv {} {}.new || exit 1
|
||||
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 '^#|^$' "$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 | egrep -v '^#|^$|^ ' | egrep "[[:alnum:]]+:" \
|
||||
>"$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" "$BUILD_WORKDIR/$SRCDIR_NAME$SRCDIR_DELIM$SRCDIR_VERSION"
|
||||
fi
|
||||
|
||||
echo
|
||||
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"
|
||||
250
templates/old/template.SlackBuild-0.5.1a
Executable file
250
templates/old/template.SlackBuild-0.5.1a
Executable file
|
|
@ -0,0 +1,250 @@
|
|||
#!/bin/bash
|
||||
# Version: 0.5.1
|
||||
# Copyright (c) 2005-2016:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
#
|
||||
# Required sources:
|
||||
# FIXME: FIXME
|
||||
#
|
||||
|
||||
# Source file details.
|
||||
SRCFILE_NAME=""
|
||||
SRCFILE_DELIM=""
|
||||
SRCFILE_VERSION=""
|
||||
SRCFILE_EXT=""
|
||||
|
||||
# Unpacked source directory details.
|
||||
SRCDIR_NAME="$SRCFILE_NAME"
|
||||
SRCDIR_DELIM="$SRCFILE_DELIM"
|
||||
SRCDIR_VERSION="$SRCFILE_VERSION"
|
||||
|
||||
# Built package details.
|
||||
PKG_NAME="$(basename "$BASH_SOURCE" .SlackBuild)"
|
||||
PKG_VERSION="${SRCFILE_VERSION:-$SRCDIR_VERSION}"
|
||||
PKG_BUILD="1"
|
||||
PKG_TAG="_da"
|
||||
PKG_EXT="txz"
|
||||
|
||||
# Packages which must be installed to build.
|
||||
BUILD_REQUIRED=""
|
||||
|
||||
# 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 "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 "${0##*/}: Conflicting package '$PKG' installed."; exit 1
|
||||
fi
|
||||
done
|
||||
for PKG in $BUILD_REQUIRED; do
|
||||
if ! check_installed "$PKG"; then
|
||||
echo "${0##*/}: Required package '$PKG' not installed."; exit 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
declare BUILD_OS_$(grep "^ID=" /etc/os-release)
|
||||
declare BUILD_OS_$(grep "^VERSION_ID=" /etc/os-release)
|
||||
[[ -e ../build.options ]] && {
|
||||
. ../build.options || exit 1
|
||||
}
|
||||
BUILD_WORKDIR="${BUILD_WORKDIR:-/tmp}/pkg-build"
|
||||
BUILD_ROOT="$BUILD_WORKDIR/$PKG_NAME"
|
||||
BUILD_PREFIX="${BUILD_PREFIX:-/usr}" # Slackware standard prefix.
|
||||
BUILD_MAKEFLAGS="${BUILD_MAKEFLAGS:--j6}"
|
||||
case "${BUILD_ARCH:=$(uname -m)}" in
|
||||
i[45]86)
|
||||
BUILD_CFLAGS="${BUILD_CFLAGS:--march=$BUILD_ARCH -mtune=${BUILD_TUNE:-i686} -O2}"
|
||||
PKG_ARCH="$BUILD_ARCH"
|
||||
;;
|
||||
i686)
|
||||
BUILD_CFLAGS="${BUILD_CFLAGS:--march=$BUILD_ARCH -mtune=${BUILD_TUNE:-pentium4} -O2}"
|
||||
PKG_ARCH="$BUILD_ARCH"
|
||||
;;
|
||||
x86_64|x86-64)
|
||||
BUILD_CFLAGS="${BUILD_CFLAGS:--march=x86-64 -mtune=${BUILD_TUNE:-core2} -O2 -fPIC}"
|
||||
BUILD_LIBDIRSUFFIX="${BUILD_LIBDIRSUFFIX:-64}"
|
||||
PKG_ARCH="x86_64"
|
||||
;;
|
||||
*)
|
||||
echo "${0##*/}: ${BUILD_ARCH:-$(uname -m)}: unsupported architecture."; exit 1
|
||||
;;
|
||||
esac
|
||||
PKG_STORE="${PKG_STORE:-/tmp/pkg-store/$BUILD_OS_ID$BUILD_LIBDIRSUFFIX-$BUILD_OS_VERSION_ID}"
|
||||
|
||||
SRC_DIR="$(pwd)"
|
||||
umask 0022 &&
|
||||
rm -rf "$BUILD_ROOT" "$BUILD_WORKDIR/$SRCDIR_NAME$SRCDIR_DELIM$SRCDIR_VERSION" &&
|
||||
mkdir -p -m 750 "$BUILD_WORKDIR" &&
|
||||
mkdir -m 755 "$BUILD_ROOT" || exit 1
|
||||
|
||||
case "$SRCFILE_EXT" in
|
||||
tar.gz|tgz) SRCFILE_DECOMP="gzip" ;;&
|
||||
tar.bz|tar.bz2|tbz) SRCFILE_DECOMP="bzip2" ;;&
|
||||
tar.xz|tar.lz|txz|tlz) SRCFILE_DECOMP="lzma" ;;&
|
||||
tar.*|tgz|tbz|txz|tlz) tar -xv "--$SRCFILE_DECOMP" -C "$BUILD_WORKDIR" \
|
||||
-f "$SRC_DIR/$SRCFILE_NAME$SRCFILE_DELIM$SRCFILE_VERSION.$SRCFILE_EXT" || exit 1 ;;
|
||||
zip|ZIP) unzip -d "$BUILD_WORKDIR" "$SRC_DIR/$SRCFILE_NAME$SRCFILE_DELIM$SRCFILE_VERSION.$SRCFILE_EXT" || exit 1 ;;
|
||||
*) echo "${0##*/}: $SRCFILE_EXT: unknown archive format."; exit 1 ;;
|
||||
esac
|
||||
cd "$BUILD_WORKDIR/$SRCDIR_NAME$SRCDIR_DELIM$SRCDIR_VERSION" &&
|
||||
chown -R root:root . &&
|
||||
chmod -R go-w . || exit 1
|
||||
|
||||
# zcat $SRC_DIR/FIXME.patch.gz | patch -p0 || exit 1
|
||||
|
||||
CFLAGS="$BUILD_CFLAGS" CXXFLAGS="${BUILD_CXXFLAGS:-$BUILD_CFLAGS}" LDFLAGS="$BUILD_LDFLAGS" \
|
||||
./configure --prefix="$BUILD_PREFIX" --libdir="$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX" \
|
||||
--sysconfdir="/etc/$PKG_NAME" --localstatedir="/var" --mandir="$BUILD_PREFIX/man" \
|
||||
--infodir="$BUILD_PREFIX/info" --docdir="$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION" \
|
||||
--build="$PKG_ARCH-slackware-linux" --enable-shared --disable-static \
|
||||
FIXME &&
|
||||
make "$BUILD_MAKEFLAGS" &&
|
||||
make "$BUILD_MAKEFLAGS" DESTDIR="$BUILD_ROOT" install || exit 1
|
||||
|
||||
mkdir -p -m 755 "$BUILD_ROOT/$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION" &&
|
||||
cp FIXME \
|
||||
"$BUILD_ROOT/$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION" || exit 1
|
||||
|
||||
# mkdir -p -m 755 "$BUILD_ROOT/etc/rc.d" &&
|
||||
# cat "$SRC_DIR/rc.FIXME" | sed -e "s:%BUILD_PREFIX%:$BUILD_PREFIX:g" >"$BUILD_ROOT/etc/rc.d/rc.FIXME" &&
|
||||
# chmod 755 "$BUILD_ROOT/etc/rc.d/rc.FIXME" || exit 1
|
||||
|
||||
# mkdir -p -m 755 "$BUILD_ROOT/etc/profile.d" &&
|
||||
# for FILE in "$SRC_DIR/FIXME.{csh,sh}"; do
|
||||
# cat "$FILE" | sed -e "s:%BUILD_PREFIX%:$BUILD_PREFIX:g" | sed -e "s:%BUILD_LIBDIRSUFFIX%:$BUILD_LIBDIRSUFFIX:g" \
|
||||
# >"$BUILD_ROOT/etc/profile.d/${FILE##*/}" &&
|
||||
# chmod 755 "$BUILD_ROOT/etc/profile.d/${FILE##*/}" || exit 1
|
||||
# done
|
||||
|
||||
# mkdir -p -m 755 "$BUILD_ROOT/etc/logrotate.d" &&
|
||||
# cat "$SRC_DIR/FIXME.logrotate" >"$BUILD_ROOT/etc/logrotate.d/FIXME" || exit 1
|
||||
|
||||
###############################################################################
|
||||
# Nothing below this notice should be changed or removed without good reason! #
|
||||
###############################################################################
|
||||
|
||||
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 "Dangling symlink: %p"; 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 "Dangling symlink: %p"; exit 1
|
||||
fi\n' | bash -x || exit 1
|
||||
fi
|
||||
|
||||
if ls "$BUILD_ROOT/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl*" >/dev/null 2>&1; then
|
||||
find "$BUILD_ROOT/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl*" -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/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl*" -name perllocal.pod | \
|
||||
xargs -r -I{} mv {} {}.new || exit 1
|
||||
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 '^#|^$' "$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 | egrep -v '^#|^$|^ ' | egrep "[[:alnum:]]+:" \
|
||||
>"$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" "$BUILD_WORKDIR/$SRCDIR_NAME$SRCDIR_DELIM$SRCDIR_VERSION"
|
||||
fi
|
||||
|
||||
echo
|
||||
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"
|
||||
253
templates/old/template.SlackBuild-0.5.4
Executable file
253
templates/old/template.SlackBuild-0.5.4
Executable file
|
|
@ -0,0 +1,253 @@
|
|||
#!/bin/bash
|
||||
# Version: 0.5.4
|
||||
# Copyright (c) 2005-2017:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
#
|
||||
# Required sources:
|
||||
# FIXME: FIXME
|
||||
#
|
||||
|
||||
# Source file details.
|
||||
SRCFILE_NAME=""
|
||||
SRCFILE_DELIM=""
|
||||
SRCFILE_VERSION=""
|
||||
SRCFILE_EXT=""
|
||||
|
||||
# Unpacked source directory details.
|
||||
SRCDIR_NAME="$SRCFILE_NAME"
|
||||
SRCDIR_DELIM="$SRCFILE_DELIM"
|
||||
SRCDIR_VERSION="$SRCFILE_VERSION"
|
||||
|
||||
# Built package details.
|
||||
PKG_NAME="$(basename "$BASH_SOURCE" .SlackBuild)"
|
||||
PKG_VERSION="${SRCFILE_VERSION:-$SRCDIR_VERSION}"
|
||||
PKG_BUILD="1"
|
||||
PKG_TAG="_da"
|
||||
PKG_EXT="txz"
|
||||
|
||||
# Packages which must be installed to build.
|
||||
BUILD_REQUIRED=""
|
||||
|
||||
# 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="/usr" # Slackware standard prefix.
|
||||
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 ../build.options ]] && {
|
||||
. ../build.options || exit 1
|
||||
}
|
||||
|
||||
SRC_DIR="$(pwd)"
|
||||
umask 0022 &&
|
||||
rm -rf "$BUILD_ROOT" "$BUILD_WORKDIR/$SRCDIR_NAME$SRCDIR_DELIM$SRCDIR_VERSION" &&
|
||||
mkdir -p -m 750 "$BUILD_WORKDIR" &&
|
||||
mkdir -m 755 "$BUILD_ROOT" || exit 1
|
||||
|
||||
case "$SRCFILE_EXT" in
|
||||
tar.gz|tgz) SRCFILE_DECOMP="gzip" ;;&
|
||||
tar.bz|tar.bz2|tbz) SRCFILE_DECOMP="bzip2" ;;&
|
||||
tar.xz|tar.lz|txz|tlz) SRCFILE_DECOMP="lzma" ;;&
|
||||
tar.*|tgz|tbz|txz|tlz) tar -xv "--$SRCFILE_DECOMP" -C "$BUILD_WORKDIR" \
|
||||
-f "$SRC_DIR/$SRCFILE_NAME$SRCFILE_DELIM$SRCFILE_VERSION.$SRCFILE_EXT" || exit 1 ;;
|
||||
zip|ZIP) unzip -d "$BUILD_WORKDIR" "$SRC_DIR/$SRCFILE_NAME$SRCFILE_DELIM$SRCFILE_VERSION.$SRCFILE_EXT" || exit 1 ;;
|
||||
*) echo -e "\\033[1;31m${0##*/}: $SRCFILE_EXT: unknown archive format.\\033[0;39m"; exit 1 ;;
|
||||
esac
|
||||
cd "$BUILD_WORKDIR/$SRCDIR_NAME$SRCDIR_DELIM$SRCDIR_VERSION" &&
|
||||
chown -R root:root . &&
|
||||
chmod -R go-w . || exit 1
|
||||
|
||||
# zcat $SRC_DIR/FIXME.patch.gz | patch -p0 || exit 1
|
||||
|
||||
CFLAGS="$BUILD_CFLAGS" CXXFLAGS="${BUILD_CXXFLAGS:-$BUILD_CFLAGS}" LDFLAGS="$BUILD_LDFLAGS" ./configure --prefix="$BUILD_PREFIX" \
|
||||
--libdir="$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX" --sysconfdir="/etc/$PKG_NAME" --localstatedir="/var" --mandir="$BUILD_PREFIX/man" \
|
||||
--infodir="$BUILD_PREFIX/info" --docdir="$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION" --build="$PKG_ARCH-slackware-linux" \
|
||||
--enable-shared --disable-static \
|
||||
FIXME &&
|
||||
make "$BUILD_MAKEFLAGS" &&
|
||||
make "$BUILD_MAKEFLAGS" DESTDIR="$BUILD_ROOT" install || exit 1
|
||||
|
||||
mkdir -p -m 755 "$BUILD_ROOT/$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION" &&
|
||||
cp FIXME \
|
||||
"$BUILD_ROOT/$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION" || exit 1
|
||||
|
||||
# mkdir -p -m 755 "$BUILD_ROOT/etc/rc.d" &&
|
||||
# cat "$SRC_DIR/rc.FIXME" | sed -e "s:%BUILD_PREFIX%:$BUILD_PREFIX:g" >"$BUILD_ROOT/etc/rc.d/rc.FIXME" &&
|
||||
# chmod 755 "$BUILD_ROOT/etc/rc.d/rc.FIXME" || exit 1
|
||||
|
||||
# mkdir -p -m 755 "$BUILD_ROOT/etc/profile.d" &&
|
||||
# for FILE in "$SRC_DIR/FIXME.{csh,sh}"; do
|
||||
# cat "$FILE" | sed -e "s:%BUILD_PREFIX%:$BUILD_PREFIX:g" | sed -e "s:%BUILD_LIBDIRSUFFIX%:$BUILD_LIBDIRSUFFIX:g" \
|
||||
# >"$BUILD_ROOT/etc/profile.d/${FILE##*/}" &&
|
||||
# chmod 755 "$BUILD_ROOT/etc/profile.d/${FILE##*/}" || exit 1
|
||||
# done
|
||||
|
||||
# mkdir -p -m 755 "$BUILD_ROOT/etc/logrotate.d" &&
|
||||
# cat "$SRC_DIR/FIXME.logrotate" >"$BUILD_ROOT/etc/logrotate.d/FIXME" || exit 1
|
||||
|
||||
|
||||
###############################################################################
|
||||
# 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 ls "$BUILD_ROOT/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5" >/dev/null 2>&1; 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/$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX/perl5" -name perllocal.pod | \
|
||||
xargs -r -I{} mv {} {}.new || exit 1
|
||||
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 '^#|^$' "$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 | egrep -v '^#|^$|^ ' | egrep "[[:alnum:]]+:" \
|
||||
>"$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" "$BUILD_WORKDIR/$SRCDIR_NAME$SRCDIR_DELIM$SRCDIR_VERSION"
|
||||
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"
|
||||
255
templates/old/template.SlackBuild-0.5.7
Executable file
255
templates/old/template.SlackBuild-0.5.7
Executable file
|
|
@ -0,0 +1,255 @@
|
|||
#!/bin/bash
|
||||
# Version: 0.5.7
|
||||
# Copyright (c) 2005-2022:
|
||||
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||
# Licensed under the terms of the GNU General Public License version 3.
|
||||
#
|
||||
# Required sources:
|
||||
# FIXME: FIXME
|
||||
#
|
||||
|
||||
# Source file details.
|
||||
SRCFILE_NAME=""
|
||||
SRCFILE_DELIM=""
|
||||
SRCFILE_VERSION=""
|
||||
SRCFILE_EXT=""
|
||||
|
||||
# Unpacked source directory details.
|
||||
SRCDIR_NAME="$SRCFILE_NAME"
|
||||
SRCDIR_DELIM="$SRCFILE_DELIM"
|
||||
SRCDIR_VERSION="$SRCFILE_VERSION"
|
||||
|
||||
# Built package details.
|
||||
PKG_NAME="$(basename "$BASH_SOURCE" .SlackBuild)"
|
||||
PKG_VERSION="${SRCFILE_VERSION:-$SRCDIR_VERSION}"
|
||||
PKG_BUILD="1"
|
||||
PKG_TAG="_tadgy"
|
||||
PKG_EXT="txz"
|
||||
|
||||
# Packages which must be installed to build.
|
||||
BUILD_REQUIRED=""
|
||||
|
||||
# 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="/usr" # Slackware standard prefix.
|
||||
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 ../build.options ]] && {
|
||||
. ../build.options || exit 1
|
||||
}
|
||||
|
||||
SRC_DIR="$(pwd)"
|
||||
umask 0022 &&
|
||||
rm -rf "$BUILD_ROOT" "$BUILD_WORKDIR/$SRCDIR_NAME$SRCDIR_DELIM$SRCDIR_VERSION" &&
|
||||
mkdir -p -m 750 "$BUILD_WORKDIR" &&
|
||||
mkdir -m 755 "$BUILD_ROOT" || exit 1
|
||||
|
||||
case "$SRCFILE_EXT" in
|
||||
tar.gz|tgz) SRCFILE_DECOMP="gzip" ;;&
|
||||
tar.bz|tar.bz2|tbz) SRCFILE_DECOMP="bzip2" ;;&
|
||||
tar.xz|txz) SRCFILE_DECOMP="xz" ;;&
|
||||
tar.lz|tlz) SRCFILE_DECOMP="lzma" ;;&
|
||||
tar.*|tgz|tbz|txz|tlz) tar -xv "--$SRCFILE_DECOMP" -C "$BUILD_WORKDIR" \
|
||||
-f "$SRC_DIR/$SRCFILE_NAME$SRCFILE_DELIM$SRCFILE_VERSION.$SRCFILE_EXT" || exit 1 ;;
|
||||
zip|ZIP) unzip -d "$BUILD_WORKDIR" "$SRC_DIR/$SRCFILE_NAME$SRCFILE_DELIM$SRCFILE_VERSION.$SRCFILE_EXT" || exit 1 ;;
|
||||
*) echo -e "\\033[1;31m${0##*/}: $SRCFILE_EXT: unknown archive format.\\033[0;39m"; exit 1 ;;
|
||||
esac
|
||||
cd "$BUILD_WORKDIR/$SRCDIR_NAME$SRCDIR_DELIM$SRCDIR_VERSION" &&
|
||||
chown -R root:root . &&
|
||||
chmod -R go-w . || exit 1
|
||||
|
||||
# zcat $SRC_DIR/FIXME.patch.gz | patch -p0 || exit 1
|
||||
|
||||
CFLAGS="$BUILD_CFLAGS" CXXFLAGS="${BUILD_CXXFLAGS:-$BUILD_CFLAGS}" LDFLAGS="$BUILD_LDFLAGS" ./configure --prefix="$BUILD_PREFIX" \
|
||||
--libdir="$BUILD_PREFIX/lib$BUILD_LIBDIRSUFFIX" --sysconfdir="/etc/$PKG_NAME" --localstatedir="/var" --mandir="$BUILD_PREFIX/man" \
|
||||
--infodir="$BUILD_PREFIX/info" --docdir="$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION" --build="$PKG_ARCH-slackware-linux" \
|
||||
--enable-shared --disable-static \
|
||||
FIXME &&
|
||||
make "$BUILD_MAKEFLAGS" &&
|
||||
make "$BUILD_MAKEFLAGS" DESTDIR="$BUILD_ROOT" install || exit 1
|
||||
|
||||
mkdir -p -m 755 "$BUILD_ROOT/$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION" &&
|
||||
cp --parents FIXME \
|
||||
"$BUILD_ROOT/$BUILD_PREFIX/doc/$PKG_NAME-$PKG_VERSION" || exit 1
|
||||
|
||||
# mkdir -p -m 755 "$BUILD_ROOT/etc/rc.d" &&
|
||||
# cat "$SRC_DIR/rc.FIXME" | sed -e "s:%BUILD_PREFIX%:$BUILD_PREFIX:g" >"$BUILD_ROOT/etc/rc.d/rc.FIXME" &&
|
||||
# chmod 755 "$BUILD_ROOT/etc/rc.d/rc.FIXME" || exit 1
|
||||
|
||||
# mkdir -p -m 755 "$BUILD_ROOT/etc/profile.d" &&
|
||||
# for FILE in "$SRC_DIR/FIXME.{csh,sh}"; do
|
||||
# cat "$FILE" | sed -e "s:%BUILD_PREFIX%:$BUILD_PREFIX:g" | sed -e "s:%BUILD_LIBDIRSUFFIX%:$BUILD_LIBDIRSUFFIX:g" \
|
||||
# >"$BUILD_ROOT/etc/profile.d/${FILE##*/}" &&
|
||||
# chmod 755 "$BUILD_ROOT/etc/profile.d/${FILE##*/}" || exit 1
|
||||
# done
|
||||
|
||||
# mkdir -p -m 755 "$BUILD_ROOT/etc/logrotate.d" &&
|
||||
# cat "$SRC_DIR/FIXME.logrotate" >"$BUILD_ROOT/etc/logrotate.d/FIXME" || exit 1
|
||||
|
||||
|
||||
###############################################################################
|
||||
# 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" "$BUILD_WORKDIR/$SRCDIR_NAME$SRCDIR_DELIM$SRCDIR_VERSION"
|
||||
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"
|
||||
Loading…
Add table
Add a link
Reference in a new issue