summaryrefslogtreecommitdiff
path: root/src/mips64el-tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/mips64el-tools')
-rwxr-xr-xsrc/mips64el-tools/add-mips64el6
-rwxr-xr-xsrc/mips64el-tools/librebasebuilder84
-rwxr-xr-xsrc/mips64el-tools/mips-add7
-rw-r--r--src/mips64el-tools/mips64el.conf12
-rwxr-xr-xsrc/mips64el-tools/mipsrelease65
5 files changed, 174 insertions, 0 deletions
diff --git a/src/mips64el-tools/add-mips64el b/src/mips64el-tools/add-mips64el
new file mode 100755
index 0000000..e06d857
--- /dev/null
+++ b/src/mips64el-tools/add-mips64el
@@ -0,0 +1,6 @@
+#!/bin/bash
+# Change all arch array that aren't any or mips64el already
+
+find -name 'PKGBUILD' -exec sed -i "s/^\(arch=([^)anym]\+\))/\1 'mips64el')/" '{}' \;
+
+exit $?
diff --git a/src/mips64el-tools/librebasebuilder b/src/mips64el-tools/librebasebuilder
new file mode 100755
index 0000000..f7d3a25
--- /dev/null
+++ b/src/mips64el-tools/librebasebuilder
@@ -0,0 +1,84 @@
+#!/bin/bash
+# -*- coding: utf-8 -*-
+# Copyright (C) 2012 Michał Masłowski <mtjm@mtjm.eu>
+#
+# This program 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 3 of the License, or
+# (at your option) any later version.
+#
+# This program 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 Affero General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+set -e
+
+# TODO:
+
+# - make it more configurable
+
+# - compare the result with previous base images
+
+for arg in "$@" ; do
+ case "$arg" in
+ -h|--h|--he|--hel|--help|-\?)
+ echo 'Usage: librebasebuilder
+
+Make a base tarball named parabola-mips64el-DATE.tar.bz2.
+
+This script must be run as root.' >&2
+ exit 0
+ ;;
+ esac
+done
+
+[[ "$UID" != "0" ]] && {
+ echo "This script must be run as root." >&2
+ exit 1
+}
+
+tempdir=/home/chroot/base
+outdir=$(pwd)
+
+mkarchroot -n $tempdir mkinitcpio base sudo parted nano zile vi ed openssh
+
+cd $tempdir
+
+# Don't list mtjm's DNS servers.
+cat > etc/resolv.conf <<EOF
+#
+# /etc/resolv.conf
+#
+
+#search <yourdomain.tld>
+#nameserver <ip>
+
+# End of file
+EOF
+
+# From pacman-mirrorlist-libre-20120307-1. Remember to escape dollars.
+cat > etc/pacman.d/mirrorlist <<EOF
+# Parabola GNU/Linux - Last Updated: Wed Mar 7 17:33:36 GMT 2012
+
+# Atlanta, GA, USA
+# Responsible: belos
+Server = http://parabola.techno-geeks.org/\$repo/os/\$arch
+
+# Nuremberg, Germany
+# Responsible: johkra
+Server = http://parabolaweb.eu/\$repo/os/\$arch
+
+# UK
+# Responsible: Parabola Project
+Server = http://repo.parabolagnulinux.org/\$repo/os/\$arch
+
+EOF
+
+rm .arch-chroot
+
+tar cjf $outdir/parabola-mips64el-$(LC_ALL=C date -u +%Y%m%d).tar.bz2 .
diff --git a/src/mips64el-tools/mips-add b/src/mips64el-tools/mips-add
new file mode 100755
index 0000000..da9b431
--- /dev/null
+++ b/src/mips64el-tools/mips-add
@@ -0,0 +1,7 @@
+#!/bin/bash
+source /etc/libretools.conf
+if ! grep mips64el PKGBUILD >/dev/null; then # Add mips64el in ${arch} array if it isn't 'any'
+ warning "Adding mips64el arch"
+ sed -i "s/^\(arch=([^)anym]\+\))/\1 'mips64el')/" "PKGBUILD"
+ librecommit PKGBUILD
+fi
diff --git a/src/mips64el-tools/mips64el.conf b/src/mips64el-tools/mips64el.conf
new file mode 100644
index 0000000..836b407
--- /dev/null
+++ b/src/mips64el-tools/mips64el.conf
@@ -0,0 +1,12 @@
+## Arquitecture specific commands
+
+## Run a command for PKGBUILD modifications before building
+## Like adding 'mips64el' to arch if it's not there
+# HOOKPKGBUILDMOD="mips-add"
+
+## Run a command for local releasing of packages
+# Useful for mass packaging (ie. mips port)
+# Must accept the following parameters even if the command won't use them:
+# $1 repo name
+# $2+ packages
+# HOOKLOCALRELEASE="mipsrelease"
diff --git a/src/mips64el-tools/mipsrelease b/src/mips64el-tools/mipsrelease
new file mode 100755
index 0000000..4d7a7de
--- /dev/null
+++ b/src/mips64el-tools/mipsrelease
@@ -0,0 +1,65 @@
+#!/bin/bash
+# Lic: GPLv3+
+# Author: Nicolas Reynolds <fauno@kiwwwi.com.ar>
+# Local release of mips64el packages + clean ABS sync
+# Called by HOOKLOCALRELEASE
+
+# $1 repo
+# $2+ packages
+
+source /etc/makepkg.conf
+source /etc/libretools.conf
+
+libretoolsdir="$(dirname $0)/../"
+
+usage() {
+ echo "$0 repo package1 [ package2 ... packageN ]"
+ echo
+ echo " release packages locally on ${PKGDEST}/stage3."
+ echo " and make a clean ABS sync "
+}
+
+##
+# usage : get_full_version( $epoch, $pkgver, $pkgrel )
+# return : full version spec, including epoch (if necessary), pkgver, pkgrel
+##
+get_full_version() {
+ if [[ $1 -eq 0 ]]; then
+ # zero epoch case, don't include it in version
+ echo $2-$3
+ else
+ echo $1:$2-$3
+ fi
+}
+
+repo=$1; shift
+
+if [ -z "${repo}" ]; then
+ error "Empty repo"
+ exit 1
+fi
+
+# Get all needed sources
+source PKGBUILD
+fullver=$(get_full_version ${epoch:-0} ${pkgver} ${pkgrel})
+pkgs=()
+makepkg --source -f --skippgpcheck
+
+msg "Adding packages to [stage3]..."
+for name in ${pkgname[@]}; do
+ msg2 "${name} ${fullver}"
+ pkgs+=("${PKGDEST}/${name}-${fullver}-*.pkg.tar.*")
+done
+
+repo-add ${PKGDEST}/stage3.db.tar.gz ${pkgs[@]}
+
+librestage ${repo}
+
+
+mkdir -p ${WORKDIR}/abs/${CARCH}/${repo} >/dev/null
+
+pushd ${WORKDIR}/abs/${CARCH}/${repo} >/dev/null
+ tar xvf $SRCPKGDEST/${pkgbase:-${pkgname[0]}}-${fullver}${SRCEXT}
+popd >/dev/null
+
+exit $?