From 0d6bcb2b7d08e3a41481372c1ae0d11868d88b1b Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sat, 7 Oct 2017 19:32:06 -0300 Subject: New repo layout with git migration --- utils/README | 2 + utils/add-gpl | 33 ++++++++++++++++ utils/add-slack-required | 63 +++++++++++++++++++++++++++++++ utils/build | 54 +++++++++++++++++++++++++++ utils/convert-template-scheme | 35 +++++++++++++++++ utils/enable-mkbuild-section | 44 ++++++++++++++++++++++ utils/merge-template | 37 ++++++++++++++++++ utils/metapkg | 72 +++++++++++++++++++++++++++++++++++ utils/repos | 87 +++++++++++++++++++++++++++++++++++++++++++ utils/searchpkg | 36 ++++++++++++++++++ utils/slackbuild-versions | 30 +++++++++++++++ 11 files changed, 493 insertions(+) create mode 100644 utils/README create mode 100755 utils/add-gpl create mode 100755 utils/add-slack-required create mode 100755 utils/build create mode 100755 utils/convert-template-scheme create mode 100755 utils/enable-mkbuild-section create mode 100755 utils/merge-template create mode 100755 utils/metapkg create mode 100755 utils/repos create mode 100755 utils/searchpkg create mode 100755 utils/slackbuild-versions (limited to 'utils') diff --git a/utils/README b/utils/README new file mode 100644 index 0000000..ac139ad --- /dev/null +++ b/utils/README @@ -0,0 +1,2 @@ +The scripts in this folder are just snippets used during the development or +code not maintained anymore. They're not included in the simplepkg package. diff --git a/utils/add-gpl b/utils/add-gpl new file mode 100755 index 0000000..0a261e2 --- /dev/null +++ b/utils/add-gpl @@ -0,0 +1,33 @@ +#!/bin/bash +# +# add-gpl is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or any later version. +# +# add-gpl is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., 59 Temple +# Place - Suite 330, Boston, MA 02111-1307, USA +# +# This script should be used to add a license in scripts. +# + +script="SlackBuild" +#script="build" + +for file in `find -name "*.$script"`; do + + echo Changing $file... + package="`basename $file .$script`" + slackbuild="`basename $file`" + + string="\#\!\/bin\/bash\n\#\n# $slackbuild is free software; you can redistribute it and\/or modify it under the\n# terms of the GNU General Public License as published by the Free Software\n# Foundation; either version 2 of the License, or any later version.\n#\n# $slackbuild is distributed in the hope that it will be useful, but WITHOUT ANY\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n# A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; if not, write to the Free Software Foundation, Inc., 59 Temple\n# Place - Suite 330, Boston, MA 02111-1307, USA" + + sed -e "s/\#\!\/bin\/bash/$string/" $file > $file.new + cat $file.new > $file + rm $file.new + +done diff --git a/utils/add-slack-required b/utils/add-slack-required new file mode 100755 index 0000000..c1e25ca --- /dev/null +++ b/utils/add-slack-required @@ -0,0 +1,63 @@ +#!/bin/bash +# +# add-slack-required is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or any later version. +# +# add-slack-required is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., 59 Temple +# Place - Suite 330, Boston, MA 02111-1307, USA +# +# add slack-required files in an existing repository +# by rhatto at riseup.net +# + +COMMON="/usr/libexec/simplepkg/common.sh" +BASENAME="`basename $0`" + +if [ -z "$2" ]; then + echo "usage: $BASENAME /path/to/slackbuilds /path/to/packages" + exit 1 +elif [ ! -d "$1" ]; then + echo "$BASENAME: folder not found: $1" + exit 1 +elif [ ! -d "$2" ]; then + echo "$BASENAME: folder not found: $2" + exit 1 +fi + +slackbuild="$1" +repository="$2" + +# we need the function package_name +if [ -f "$COMMON" ]; then + source $COMMON +else + echo "error: file $COMMON found, check your $BASENAME installation" + exit 1 +fi + +function search_and_copy_slackbuild { + + if [ -f "$1" ]; then + echo Copying `basename $1` to `dirname $package`/$pack.slack-required + cp $1 `dirname $package`/$pack.slack-required + svn add `dirname $package`/$pack.slack-required 2> /dev/null + fi + +} + +for package in `find $repository/ $(pkg_ext_find)`; do + pack="`package_name $package`" + for build_script in `find $slackbuild/ -name $pack.SlackBuild`; do + + search_and_copy_slackbuild `dirname $build_script`/slack-required + search_and_copy_slackbuild `dirname $build_script`/$pack.slack-required + + done +done + diff --git a/utils/build b/utils/build new file mode 100755 index 0000000..748ca3d --- /dev/null +++ b/utils/build @@ -0,0 +1,54 @@ +#!/bin/bash +# +# build is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or any later version. +# +# build is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., 59 Temple +# Place - Suite 330, Boston, MA 02111-1307, USA +# + +BASENAME="`basename $0`" +COMMON="/usr/libexec/simplepkg/common.sh" + +if [ -f "$COMMON" ]; then + source $COMMON +else + echo "error: file $COMMON found, check your $BASENAME installation" + exit 1 +fi + +ARCH="`default_arch`" +LIBDIR="/usr/lib" +if [ "$ARCH" = "x86_64" ]; then + FPIC="export CFLAGS=-fPIC" + LDFLAGS='export LDFLAGS="-L/lib64 -L/usr/lib64"' + LIBDIR="/usr/lib64" +fi + +CONF="./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR" +INSTALL="make DESTDIR=`pwd`/installation/ install" +HELP="./configure --help | less" +MAKE="make" + +case $1 in + "--conf") $CONF ;; + "--fpic") $FPIC ;; + "--ld") $LDFLAGS ;; + "--make") $MAKE ;; + "--install") $INSTALL ;; + "--help") $HELP ;; + "--show") + echo $FPIC + echo $LDFLAGS + echo $CONF + echo $INSTALL + ;; + *) $CONF ; $MAKE ;; +esac + diff --git a/utils/convert-template-scheme b/utils/convert-template-scheme new file mode 100755 index 0000000..de7e507 --- /dev/null +++ b/utils/convert-template-scheme @@ -0,0 +1,35 @@ +#!/bin/bash +# +# This software is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or any later version. +# +# This software is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., 59 Temple +# Place - Suite 330, Boston, MA 02111-1307, USA +# +# script for converting simplepkg templates +# to the 0.5 own-folder format +# + +cwd="/etc/simplepkg" +cd $cwd + +for file in `ls *.template`; do + cd $cwd + template="`echo $file | cut -d . -f 1`" + mkdir templates/$template + mv $template.d templates/$template/ + mv $template.s templates/$templates/ + mv $template.template templates/$template/ + cd templates/$template/$template.s + # optional step + # if [ "$template" != "vserver" ]; then + # ln -sf ../../../defaults/templatesvserver/vserver.s/vserver.sh + # fi +done + diff --git a/utils/enable-mkbuild-section b/utils/enable-mkbuild-section new file mode 100755 index 0000000..17efd77 --- /dev/null +++ b/utils/enable-mkbuild-section @@ -0,0 +1,44 @@ +#!/bin/bash +# +# add-slack-required is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or any later version. +# +# add-slack-required is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., 59 Temple +# Place - Suite 330, Boston, MA 02111-1307, USA +# +# enable a given mkbuild section +# by rhatto at riseup.net +# + +CWD="`pwd`" +BASE="/data/projetos/code/mkbuilds" +MATCH=": manifest_check" # example parameter +ADD_BEFORE=": untar_source" # example section +INCLUDE=" on: manifest_check" # example section + +cd $BASE +FILES="` grep -l -R -L -e "$MATCH" * | grep -v .svn`" # match criteria +#FILES="`grep -R "$MATCH" * | grep -v .svn | grep -v '""' | cut -d : -f 1 | uniq`" # unmatch criteria + +for file in $FILES; do + if [ "`basename $file .mkbuild`" != "`basename $file`" ]; then + echo processing $file + LINES="`wc -l $file | awk '{ print $1 }'`" + CENTER="`sed = $file | sed 'N;s/\n/\t/' | grep "$ADD_BEFORE" | awk '{ print $1 }'`" + CENTER="`echo $(($CENTER -1))`" + END="`echo $(($LINES - $CENTER))`" + head -n $CENTER $file > $file.new + echo "$INCLUDE" >> $file.new + tail -n $END $file >> $file.new + cat $file.new > $file + rm $file.new + fi +done + +cd $CWD diff --git a/utils/merge-template b/utils/merge-template new file mode 100755 index 0000000..cee1790 --- /dev/null +++ b/utils/merge-template @@ -0,0 +1,37 @@ +#!/bin/bash +# +# This software is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or any later version. +# +# This software is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., 59 Temple +# Place - Suite 330, Boston, MA 02111-1307, USA +# +# tip: to assemble a template from all slack tagfiles: +# +# for diskset in a ap d e f k l n t tcl x xap y; do +# lynx -dump http://url/to/slackware/$diskset/tagfile >> slack.template +# done +# + +if [ -z "$2" ]; then + echo "usage: `basename $0`