diff options
| author | Palica <palica+gitlab@liguros.net> | 2020-06-23 22:35:08 +0200 |
|---|---|---|
| committer | Palica <palica+gitlab@liguros.net> | 2020-06-23 22:35:08 +0200 |
| commit | ecdac123787b96ce6649f0f91da12ea6458cc2b1 (patch) | |
| tree | b89c74d9e6fe6e8aebc4c77bcbeb4ab73214127d /scripts | |
| parent | 1be72aa41cf41dedadeecf59dca9f01de6381f5e (diff) | |
| download | baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.gz baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.xz baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.zip | |
Updating liguros repo
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/bin/init-repo-mirror | 52 | ||||
| -rwxr-xr-x | scripts/bin/keyword-helper | 134 | ||||
| -rwxr-xr-x | scripts/bin/keyword-mate | 63 | ||||
| -rwxr-xr-x | scripts/bin/mate-package-helper | 33 | ||||
| -rwxr-xr-x | scripts/bootstrap.sh | 362 | ||||
| -rwxr-xr-x | scripts/files/hooks/post-receive | 3 | ||||
| -rw-r--r-- | scripts/files/package-lists/README.md | 6 | ||||
| -rw-r--r-- | scripts/files/package-lists/package-list-1.14-alphabetical | 39 | ||||
| -rw-r--r-- | scripts/files/package-lists/package-list-1.14-topological | 39 | ||||
| -rw-r--r-- | scripts/files/package-lists/package-list-1.16-alphabetical | 39 | ||||
| -rw-r--r-- | scripts/files/package-lists/package-list-1.16-topological | 39 | ||||
| -rw-r--r-- | scripts/files/package-lists/package-list-9999-alphabetical | 39 | ||||
| -rw-r--r-- | scripts/files/package-lists/package-list-9999-topological | 39 |
13 files changed, 887 insertions, 0 deletions
diff --git a/scripts/bin/init-repo-mirror b/scripts/bin/init-repo-mirror new file mode 100755 index 000000000000..eba3d568af07 --- /dev/null +++ b/scripts/bin/init-repo-mirror @@ -0,0 +1,52 @@ +#!/bin/sh + +die(){ + echo "$@" + exit 1 +} + +help_info(){ + echo "Initialize repository to allow mirroring." + echo "--hooks: installs git hooks for syncronization" + echo "--remotes: configures github remotes" + echo "--help/-h: display this message" + exit 0 +} + +[[ -d .git/ ]] || die "Must be run from repository root!" + +if [[ $# -eq 0 ]]; then + eval set -- "--hooks --remotes" +fi + +OPTS=`getopt -o h --long hooks,remotes,help -n 'parse-options' -- "$@"` + +if [[ $? -ne 0 ]]; then + die "Invalid arguments" +fi + +eval set -- "${OPTS}" + +HOOKS=false +REMOTES=false + +while true; do + case "$1" in + --hooks ) HOOKS=true; shift ;; + --remotes ) REMOTES=true; shift ;; + --help | -h ) help-info ;; + -- ) shift; break;; + * ) break ;; + esac +done + +if ${HOOKS}; then + echo "Installing Repository Hooks" + cp scripts/hooks/post-receive .git/hooks/post-receive || die "Failed to install hooks" +fi + +if ${REMOTES}; then + echo "Configuring Remotes" + git remote remove github &>/dev/null + git remote add --mirror=push github git@github.com:gentoo/gentoo-mate.git || die "Failed to configure remotes" +fi diff --git a/scripts/bin/keyword-helper b/scripts/bin/keyword-helper new file mode 100755 index 000000000000..5042739ae1a2 --- /dev/null +++ b/scripts/bin/keyword-helper @@ -0,0 +1,134 @@ +#!/usr/bin/perl +# keyword-helper - utility to ekeyword packages +# Usage: from the root of the overlay +# keyword-helper app-foo/bar-1.2 app-foo/baz-1.2 +# <mudler@sabayon.org> + +use Cwd; + +my $TARGET_KEYWORD = $ENV{TARGET_KEYWORD} // "amd64 x86" + ; # KEYWORD changes, arguments are given directly to ekeyword +my $BUGZ = + $ENV{BUGZ}; # Bug reference. Mandatory if no COMMIT_MSG is specified +my $COMMIT_MSG = $ENV{COMMIT_MSG}; # Git commit message +my $REMOVE = $ENV{REMOVE} // 0; # Remove ebuilds if 1 + +my @KEYWORD_PACKAGES = @ARGV; # Packages that we want to manipulate +my $CWD = getcwd; +my @FAILED; + +sub strip_pvr { s/-[0-9]{1,}.*$//; } + +sub package_has_pvr { /-[0-9]{1,}.*$/; } + +# print helpers + +sub say { print join( "\n", @_ ) . "\n"; } + +sub err { say "\e[31m ", @_, " \e[0m"; } + +sub fatal { err @_; exit 1; } + +sub ok { say "\e[1;34m ", @_, " \e[0m"; } + +sub info { say "\e[1;37m ", @_, " \e[0m"; } + +# deadly checks + +if ( !@ARGV or $ARGV[0] eq "-h" or $ARGV[0] eq "--help" ) { + say "You must feed me with at least a package version", "", + "e.g. $0 package", "", + "ENV variables options:", "", + " COMMIT_MSG \t\t default commit message", + " BUGZ \t\t Gentoo Bugzilla id, e.g. 596998", + " TARGET_KEYWORD \t the keyword(s) to set separated by a space. e.g. TARGET_KEYWORD='amd64 x86'", + " REMOVE \t remove ebuilds instead of keywording if setted to 1"; + exit 1; +} + +if ( -e "${CWD}/Manifest" ) { + fatal "You are running me from the wrong folder, don't you?", + "I need to be executed from the root of the overlay!"; +} + +fatal "You should supply a bug id with the BUGZ environment variable or", + "a custom commit message with COMMIT_MSG at least" + if ( !$BUGZ and !$COMMIT_MSG ); + +# Split TARGET_KEYWORD by space and put into an array +my @ARCHES = split( /\s/, $TARGET_KEYWORD ); + +# Cycle packages that need to be manipulated +# Here it's being used $_, that contains strings in the following format: category/package, contains package version and revision too +for (@KEYWORD_PACKAGES) { + fatal + "You must feed me with package versions, not atoms or whatever!", + "bailing out since you are using me in the WRONG way, fix yourself first" + unless package_has_pvr; + my $local_package = + (/\/(.*)$/)[0] + . ".ebuild" + ; # Extract the package name and version, included of revision if any + info "Keywording $TARGET_KEYWORD on $_ [$local_package]"; + strip_pvr(); # stripping PVR + + if ( -d $_ ) { + chdir($_); # entering in the directory + } + else { + fatal "$_ directory doesn't exists"; + } + + # Checking if ebuild we want to keyword is there + if ( -e $local_package ) { + + # Do magic with the ebuild, since it exists + foreach my $arch (@ARCHES) { + my $LOCAL_COMMIT_MSG = $COMMIT_MSG; + + # if no COMMIT_MSG is supplied, we generate it + if ( !$COMMIT_MSG ) { + my ( $keyword_symbol, $clean_arch ) = + ( $arch =~ /^(\^|\~|)(.*)$/ ) + ; # Getting the first character of a arch, it can be ~, ^ or "" to use it with ekeyword + my $prefix_msg; + if ( $keyword_symbol eq '^' ) { + $prefix_msg = "Drop $clean_arch keyword "; + } + elsif ( $keyword_symbol eq '~' ) { + $prefix_msg = "Added $arch keyword "; + } + elsif ( $keyword_symbol eq "" ) { + $prefix_msg = "Stable on $clean_arch keyword "; + } + $LOCAL_COMMIT_MSG = $prefix_msg . "wrt \#${BUGZ}"; + } + if ($REMOVE == 1) { + system("rm -rfv $local_package"); + } else { + system("ekeyword $arch $local_package"); + } + system("git add $local_package"); + system("repoman commit -m '$_: $LOCAL_COMMIT_MSG'"); + if ( $? >> 8 != 0 ) { + fatal + "Meh. we got errors. before going on, i want you to fix those by hand."; + push(@FAILED,$local_package); + } + else { + ok "Done for $_ [$local_package]"; + } + } + + } + else { + # errors, the ebuild cannot be found + fatal "/!\\ $local_package not found in $_ keywording failed!"; + } + chdir($CWD); +} + +if(@FAILED > 0){ + fatal "Operation failed for the following ebuilds:"; + fatal "** ".$_ for @FAILED; +} diff --git a/scripts/bin/keyword-mate b/scripts/bin/keyword-mate new file mode 100755 index 000000000000..43a2f293514b --- /dev/null +++ b/scripts/bin/keyword-mate @@ -0,0 +1,63 @@ +#!/usr/bin/perl +# keyword-mate - utility to generate package lists, +# used also to call keyword-helper automatically to handle stabilizations. +# Given a list of packages in input and a MAJOR_VERSION, +# it returns the minimum version of the package if there are more ebuilds with the same MAJOR_VERSION +# Usage: from the root of the overlay +# MAJOR_VERSION=1.12 keyword-mate mate-base/mate +# <mudler@sabayon.org> + +my @PKGLIST = @ARGV; +my $MAJOR_V = $ENV{MAJOR_VERSION}; +my $EXCLUSION_LIST = $ENV{EXCLUSION_LIST}; +my $AUTO = $ENV{AUTO} // 0; +my $LOCAL_MATCH = $ENV{LOCAL_MATCH} // "min"; + +sub natural_order { + my @a = @_; + return @a[ + map { unpack "N", substr( $_, -4 ) } + sort + map { + my $key = $a[$_]; + $key =~ s[(\d+)][ pack "N", $1 ]ge; + $key . pack "CNN", 0, 0, $_ + } 0 .. $#a + ]; +} + +print + "You are running me from the wrong folder, don't you?\nI need to be executed from the root of the overlay!\n" + and exit 1 + if ( -e "Manifest" ); + +print + "I need a MAJOR_VERSION as environment variable, otherwise i can't find the local minimum among the ebuilds\n" + and exit 1 + if ( !$MAJOR_V ); + +if ( !@ARGV or $ARGV[0] eq "-h" or $ARGV[0] eq "--help" ) { + print "You must feed me with at least a package, without version!\n\n"; + print "e.g. $0 package package1 package2\n\n"; + print "ENV variables options:\n"; + print " MAJOR_V \t Major version to check\n"; + print " AUTO \t Automatically calls keyword-helper\n"; + print " EXCLUSION_LIST \t Supply an list of packages to be excluded\n"; + print " LOCAL_MATCH \t Can be 'min' or 'max', indicates local minimum or maximum\n"; + + exit 1; +} + +for (@PKGLIST) { + next if $EXCLUSION_LIST =~ /$_/; + exit 1 unless -d $_; + my @EBUILDS = <$_/*.ebuild>; + my $wanted_version = ( natural_order( grep {/$MAJOR_V/} @EBUILDS ) ) + [ $LOCAL_MATCH eq "max" ? -1 : 0 ]; + my $package = ( $wanted_version =~ /(.*)\.ebuild/ )[0]; + my @path = split( /\//, $package ); + next unless @path > 0; + $package = $path[0] . "/" . $path[2]; + print "$package\n"; + system("./scripts/bin/keyword-helper $package") if ( $AUTO == 1 ); +} diff --git a/scripts/bin/mate-package-helper b/scripts/bin/mate-package-helper new file mode 100755 index 000000000000..a9f9075e3e8d --- /dev/null +++ b/scripts/bin/mate-package-helper @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 + +""" +A tiny helper script to help figure which package needs to be built next + +run this from the top of the overlay +""" +import os +import re + +VERSION = "1.20" + + +def list_ebuilds(package): + for root, dirs, files in os.walk(package): + for f in files: + if f.endswith('ebuild'): + yield os.path.join(root, f) + +with open("scripts/files/package-lists/package-list-9999-topological") as plist: # noqa + packages = list(map(lambda x: x.strip(), plist.readlines())) + + +for package in packages: + rgx = "%s/%s-%s.*.ebuild" % (package, package.split("/")[-1], VERSION) + ebuild_updated = False + for ebuild in list_ebuilds(package): + if re.search(rgx, ebuild): + ebuild_updated = True + break + if not ebuild_updated: + print("Next package to work on ... {}".format(package)) + break diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh new file mode 100755 index 000000000000..46026a79e1c9 --- /dev/null +++ b/scripts/bootstrap.sh @@ -0,0 +1,362 @@ +#!/bin/bash +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# people who were here: +# (drobbins, 06 Jun 2003) +# (solar, Jul 2004) +# (vapier, Aug 2004) +# (compnerd, Nov 2004) +# (wolf31o2, Jan 2005) +# (azarah, Mar 2005) +# (uberlord, May 2007) +# (kumba, May 2007) +# (williamh, Mar 2014) +# (kumba, Feb 2015) + +# sanity check +[[ -e /etc/profile ]] && . /etc/profile + +if [[ -e /lib/gentoo/functions.sh ]] ; then + source /lib/gentoo/functions.sh + elif [[ -e /etc/init.d/functions.sh ]] ; then + source /etc/init.d/functions.sh +else + eerror() { echo "!!! $*"; } + einfo() { echo "* $*"; } +fi + +# Use our own custom script, else logger cause things to +# 'freeze' if we do not have a system logger running +esyslog() { + : +} + +show_status() { + local num=$1 + shift + echo " [[ ($num/3) $* ]]" +} + +# Track progress of the bootstrap process to allow for +# semi-transparent resuming +progressfile=/var/run/bootstrap-progress +[[ -e ${progressfile} ]] && source ${progressfile} +export BOOTSTRAP_STAGE=${BOOTSTRAP_STAGE:-1} + +set_bootstrap_stage() { + [[ -z ${STRAP_RUN} ]] && return 0 + export BOOTSTRAP_STAGE=$1 + echo "BOOTSTRAP_STAGE=$1" > ${progressfile} +} + +v_echo() { + einfo "Executing: $*" + env "$@" +} + +cvsver="$Id$" # TODO: FIXME for Git era +cvsver=${cvsver##*,v } +cvsver=${cvsver%%Exp*} +file_copyright=$(sed -n '/Copyright/!b;s/^# *//;p;q' $0) + +usage() { + echo -e "Usage: ${HILITE}${0##*/}${NORMAL} ${GOOD}[options]${NORMAL}" + echo -e " ${GOOD}--debug (-d)${NORMAL} Run with debug information turned on" + echo -e " ${GOOD}--fetchonly (-f)${NORMAL} Just download all the source files" + echo -e " ${GOOD}--info (-i)${NORMAL} Show system related information" + echo -e " ${GOOD}--pretend (-p)${NORMAL} Display the packages that will be merged" + echo -e " ${GOOD}--quiet (-q)${NORMAL} Reduced or condensed output from portage" + echo -e " ${GOOD}--tree (-t)${NORMAL} Display the dependency tree, forces -p" + echo -e " ${GOOD}--resume (-r)${NORMAL} Build/use binary packages" + echo -e " ${GOOD}--verbose (-v)${NORMAL} Verbose output from portage" +} + +STRAP_EMERGE_OPTS="--oneshot" +STRAP_RUN=1 +V_ECHO=env +DEBUG=0 + +for opt in "$@" ; do + case ${opt} in + --fetchonly|-f) + echo "Running in fetch-only mode ..." + STRAP_EMERGE_OPTS="${STRAP_EMERGE_OPTS} -f" + unset STRAP_RUN;; + --help|-h) + usage + exit 0;; + --debug|-d) STRAP_EMERGE_OPTS="${STRAP_EMERGE_OPTS} --debug"; DEBUG=1;; + --info|-i) STRAP_EMERGE_OPTS="${STRAP_EMERGE_OPTS} --info" ; unset STRAP_RUN ;; + --pretend|-p) STRAP_EMERGE_OPTS="${STRAP_EMERGE_OPTS} -p" ; unset STRAP_RUN ;; + --quiet|-q) STRAP_EMERGE_OPTS="${STRAP_EMERGE_OPTS} -q" ; unset STRAP_RUN ;; + --tree|-t) STRAP_EMERGE_OPTS="${STRAP_EMERGE_OPTS} -p -t" ; unset STRAP_RUN ;; + --resume|-r) STRAP_EMERGE_OPTS="${STRAP_EMERGE_OPTS} --usepkg --buildpkg";; + --verbose|-v) STRAP_EMERGE_OPTS="${STRAP_EMERGE_OPTS} -v" ; V_ECHO=v_echo;; + --version|-V) + einfo "Gentoo Linux bootstrap ${cvsver}" + exit 0 + ;; + *) + eerror "Unknown option '${opt}'" + usage + exit 1;; + esac +done + +RESUME=0 +if [[ -n ${STRAP_RUN} ]] ; then + if [ ${BOOTSTRAP_STAGE} -ge 3 ] ; then + echo + einfo "System has been bootstrapped already!" + einfo "If you re-bootstrap the system, you must complete the entire bootstrap process" + einfo "otherwise you will have a broken system." + einfo "Press enter to continue or CTRL+C to abort ..." + read + set_bootstrap_stage 1 + elif [ ${BOOTSTRAP_STAGE} -gt 1 ] ; then + einfo "Resuming bootstrap at internal stage #${BOOTSTRAP_STAGE} ..." + RESUME=1 + fi +else + export BOOTSTRAP_STAGE=0 +fi + +for p in /etc/portage /etc ; do + p+="/make.profile" + [[ -e ${p} ]] || continue + if type -P realpath >/dev/null ; then + MYPROFILEDIR=$(realpath ${p}) + else + MYPROFILEDIR=$(readlink -f ${p}) + fi +done +if [[ ! -d ${MYPROFILEDIR} ]] ; then + eerror "Error: '${MYPROFILEDIR}' does not exist. Exiting." + exit 1 +fi + +echo -e "\n${GOOD}Gentoo Linux; ${BRACKET}http://www.gentoo.org/${NORMAL}" +echo -e "${file_copyright}; Distributed under the GPLv2" +if [[ " ${STRAP_EMERGE_OPTS} " == *" -f "* ]] ; then + echo "Fetching all bootstrap-related archives ..." +elif [[ -n ${STRAP_RUN} ]] ; then + if [ ${BOOTSTRAP_STAGE} -gt 2 ] ; then + echo "Resuming Bootstrap of base system ..." + else + echo "Starting Bootstrap of base system ..." + fi +fi +echo ------------------------------------------------------------------------------- +show_status 0 Locating packages + +# This should not be set to get glibc to build properly. See bug #7652. +unset LD_LIBRARY_PATH + +# We do not want stray $TMP, $TMPDIR or $TEMP settings +unset TMP TMPDIR TEMP + +cleanup() { + if [[ -n ${STRAP_RUN} ]] ; then + if [ ${BOOTSTRAP_STAGE} -le 2 ] ; then + cp -f /var/cache/edb/mtimedb /var/run/bootstrap-mtimedb + else + rm -f /var/run/bootstrap-mtimedb + fi + fi + exit $1 +} + +pycmd() { + [[ ${DEBUG} = "1" ]] && echo /usr/bin/python -c "$@" > /dev/stderr + /usr/bin/python -c "$@" +} + +# TSTP messes ^Z of bootstrap up, so we don't trap it anymore. +trap "cleanup" TERM KILL INT QUIT ABRT + +# Bug #50158 (don't use `which` in a bootstrap). +if ! type -path portageq &>/dev/null ; then + echo ------------------------------------------------------------------------------- + eerror "Your portage version is too old. Please use a newer stage1 image." + echo + cleanup 1 +fi + +# USE may be set from the environment so we back it up for later. +export ORIGUSE=$(portageq envvar USE) + +# Check for 'build' or 'bootstrap' in USE ... +INVALID_USE=$(gawk -v ORIGUSE="${ORIGUSE}" ' + BEGIN { + if (ORIGUSE ~ /[[:space:]](build|bootstrap)[[:space:]]/) + print "yes" + }') + +# Do not do the check for stage build scripts ... +if [[ ${INVALID_USE} = "yes" ]] ; then + echo + eerror "You have 'build' or 'bootstrap' in your USE flags. Please" + eerror "remove it before trying to continue, since these USE flags" + eerror "are used for internal purposes and shouldn't be specified" + eerror "by you." + echo + cleanup 1 +fi + +# since our logic here ignores stuff found in package.use, let's warn the +# user so they can avert disaster early +if [[ -n $(sed -n '/^[ ]*#/d;/^[ ]*$/d;p' /etc/portage/package.use 2>/dev/null) ]] ; then + echo + ewarn "You appear to have custom USE flags set in /etc/portage/package.use." + ewarn "Be aware that these settings may be ignored while running this script" + ewarn "(due to limitations in the bootstrap process). If you have some USE" + ewarn "flags you wish to apply to say gcc or glibc, you should hit CTRL+C" + ewarn "now, export them in your environment (see below), and then restart." + ewarn " # export USE='some flags i want'" +fi + +# gettext should only be needed when used with nls +for opt in ${ORIGUSE} ; do + case "${opt}" in + bindist) + ALLOWED_USE="${ALLOWED_USE} bindist" + ;; + nls) + USE_NLS=1 + ALLOWED_USE="${ALLOWED_USE} nls" + ;; + nptl) + export MYARCH=$(portageq envvar ARCH) + if [[ -z $(portageq best_visible / '>=sys-kernel/linux-headers-2.6.0') ]] ; then + eerror "You need to have >=sys-kernel/linux-headers-2.6.0 unmasked!" + eerror "Please edit the latest >=sys-kernel/linux-headers-2.6.0 package," + eerror "and add your ARCH to KEYWORDS or change your make.profile link" + eerror "to a profile which does not have 2.6 headers masked." + echo + cleanup 1 + fi + USE_NPTL=1 + ;; + multilib) + ALLOWED_USE="${ALLOWED_USE} multilib" + ;; + userlocales) + ALLOWED_USE="${ALLOWED_USE} userlocales" + ;; + esac +done + +# With cascading profiles, the packages profile at the leaf is not a +# complete system, just the restrictions to it for the specific profile. +# The complete profile consists of an aggregate of the leaf and all its +# parents. So we now call portage to read the aggregate profile and store +# that into a variable. + +eval $(pycmd ' +import portage +from portage.dbapi._expand_new_virt import expand_new_virt +import sys +root = portage.settings["EROOT"] +for atom in portage.settings.packages: + if not isinstance(atom, portage.dep.Atom): + atom = portage.dep.Atom(atom.lstrip("*")) + varname = "my" + portage.catsplit(atom.cp)[1].upper().replace("-", "_") + atom = list(expand_new_virt(portage.db[root]["vartree"].dbapi, atom))[0] + sys.stdout.write("%s=\"%s\"; " % (varname, atom)) +') + +# This stuff should never fail but will if not enough is installed. +[[ -z ${myBASELAYOUT} ]] && myBASELAYOUT=">=$(portageq best_version / sys-apps/baselayout)" +[[ -z ${myPORTAGE} ]] && myPORTAGE="sys-apps/portage" +[[ -z ${myBINUTILS} ]] && myBINUTILS="sys-devel/binutils" +[[ -z ${myGCC} ]] && myGCC="sys-devel/gcc" +[[ -z ${myGETTEXT} ]] && myGETTEXT="sys-devel/gettext" +[[ -z ${myLIBC} ]] && myLIBC="$(portageq expand_virtual / virtual/libc)" +[[ -z ${myTEXINFO} ]] && myTEXINFO="sys-apps/texinfo" +[[ -z ${myZLIB} ]] && myZLIB="sys-libs/zlib" +[[ -z ${myNCURSES} ]] && myNCURSES="sys-libs/ncurses" + +# Do we really want gettext/nls? +[[ ${USE_NLS} != 1 ]] && myGETTEXT= + +if [[ ${USE_NPTL} = "1" ]] ; then + myOS_HEADERS="$(portageq best_visible / '>=sys-kernel/linux-headers-2.6.0')" + [[ -n ${myOS_HEADERS} ]] && myOS_HEADERS=">=${myOS_HEADERS}" + ALLOWED_USE="${ALLOWED_USE} nptl" +fi +[[ -z ${myOS_HEADERS} ]] && myOS_HEADERS="$(portageq expand_virtual / virtual/os-headers)" + +einfo "Using baselayout : ${myBASELAYOUT}" +einfo "Using portage : ${myPORTAGE}" +einfo "Using os-headers : ${myOS_HEADERS}" +einfo "Using binutils : ${myBINUTILS}" +einfo "Using gcc : ${myGCC}" +[[ ${USE_NLS} = "1" ]] && einfo "Using gettext : ${myGETTEXT}" +einfo "Using libc : ${myLIBC}" +einfo "Using texinfo : ${myTEXINFO}" +einfo "Using zlib : ${myZLIB}" +einfo "Using ncurses : ${myNCURSES}" +echo ------------------------------------------------------------------------------- +show_status 1 Configuring environment +echo ------------------------------------------------------------------------------- + +[[ -x /usr/sbin/gcc-config ]] && GCC_CONFIG="/usr/sbin/gcc-config" +[[ -x /usr/bin/gcc-config ]] && GCC_CONFIG="/usr/bin/gcc-config" + +# Allow portage to overwrite stuff +[[ $CONFIG_PROTECT != "-*"* ]] && export CONFIG_PROTECT="-*" + +# disable collision-protection +export FEATURES="${FEATURES} -collision-protect" + +# query BOOTSTRAP_USE from the profile +BOOTSTRAP_USE=$(portageq envvar BOOTSTRAP_USE) + +if [ ${BOOTSTRAP_STAGE} -le 1 ] ; then + show_status 2 Updating portage + ${V_ECHO} USE="-* build bootstrap ${ALLOWED_USE} ${BOOTSTRAP_USE}" emerge ${STRAP_EMERGE_OPTS} ${myPORTAGE} || cleanup 1 + echo ------------------------------------------------------------------------------- + set_bootstrap_stage 2 +fi +export USE="-* bootstrap ${ALLOWED_USE} ${BOOTSTRAP_USE}" + +# We can't unmerge headers which may or may not exist yet. If your +# trying to use nptl, it may be needed to flush out any old headers +# before fully bootstrapping. +if [ ${BOOTSTRAP_STAGE} -le 2 ] ; then + show_status 3 Emerging packages + if [[ ${RESUME} -eq 1 ]] ; then + STRAP_EMERGE_POSARGS="" + STRAP_EMERGE_OPTS="${STRAP_EMERGE_OPTS} --resume" + cp /var/run/bootstrap-mtimedb /var/cache/edb + else + STRAP_EMERGE_POSARGS="\ + ${myOS_HEADERS} ${myTEXINFO} ${myGETTEXT} ${myBINUTILS} \ + ${myGCC} ${myLIBC} ${myBASELAYOUT} ${myZLIB}" + fi + ${V_ECHO} emerge ${STRAP_EMERGE_OPTS} ${STRAP_EMERGE_POSARGS} || cleanup 1 + echo ------------------------------------------------------------------------------- + set_bootstrap_stage 3 +fi + +# Basic support for gcc multi version/arch scheme ... +if [[ -n ${STRAP_RUN} ]] ; then + if [[ -x ${GCC_CONFIG} ]] && ${GCC_CONFIG} --get-current-profile &>/dev/null + then + # Make sure we get the old gcc unmerged ... + ${V_ECHO} emerge ${STRAP_EMERGE_OPTS} --prune sys-devel/gcc || cleanup 1 + # Make sure the profile and /lib/cpp and /usr/bin/cc are valid ... + ${GCC_CONFIG} "$(${GCC_CONFIG} --get-current-profile)" &>/dev/null + fi +fi + +if [[ -n ${STRAP_RUN} ]] ; then + echo ------------------------------------------------------------------------------- + einfo "Please note that you should now add the '-e' option for emerge system:" + echo + einfo " # emerge <other_opts> -e @system" + echo +fi + +cleanup 0 diff --git a/scripts/files/hooks/post-receive b/scripts/files/hooks/post-receive new file mode 100755 index 000000000000..4f8214c5c8b7 --- /dev/null +++ b/scripts/files/hooks/post-receive @@ -0,0 +1,3 @@ +#!/bin/sh + +git push --mirror github diff --git a/scripts/files/package-lists/README.md b/scripts/files/package-lists/README.md new file mode 100644 index 000000000000..2563628d823d --- /dev/null +++ b/scripts/files/package-lists/README.md @@ -0,0 +1,6 @@ +These files are use in the maintainer's help scripts + + - package-list-1.XX-alphabetical - all pacakge sorted alphabetically + * package-list-1.XX-topological - all pacakges sorted by dependecy order + + diff --git a/scripts/files/package-lists/package-list-1.14-alphabetical b/scripts/files/package-lists/package-list-1.14-alphabetical new file mode 100644 index 000000000000..9fec80ad8cb0 --- /dev/null +++ b/scripts/files/package-lists/package-list-1.14-alphabetical @@ -0,0 +1,39 @@ +app-arch/engrampa +app-editors/pluma +app-text/atril +dev-libs/libmateweather +dev-python/python-caja +mate-base/caja +mate-base/libmatekbd +mate-base/mate +mate-base/mate-applets +mate-base/mate-applets-meta +mate-base/mate-common +mate-base/mate-control-center +mate-base/mate-desktop +mate-base/mate-menus +mate-base/mate-panel +mate-base/mate-session-manager +mate-base/mate-settings-daemon +mate-extra/caja-dropbox +mate-extra/caja-extensions +mate-extra/mate-indicator-applet +mate-extra/mate-media +mate-extra/mate-netbook +mate-extra/mate-polkit +mate-extra/mate-power-manager +mate-extra/mate-screensaver +mate-extra/mate-sensors-applet +mate-extra/mate-system-monitor +mate-extra/mate-user-guide +mate-extra/mate-user-share +mate-extra/mate-utils +media-gfx/eom +media-libs/libmatemixer +x11-misc/mate-notification-daemon +x11-misc/mozo +x11-terms/mate-terminal +x11-themes/mate-backgrounds +x11-themes/mate-icon-theme +x11-themes/mate-icon-theme-faenza +x11-wm/marco diff --git a/scripts/files/package-lists/package-list-1.14-topological b/scripts/files/package-lists/package-list-1.14-topological new file mode 100644 index 000000000000..d74c747b3f5c --- /dev/null +++ b/scripts/files/package-lists/package-list-1.14-topological @@ -0,0 +1,39 @@ +mate-base/mate-common +mate-base/mate-desktop +mate-extra/mate-user-guide +mate-base/libmatekbd +media-libs/libmatemixer +dev-libs/libmateweather +x11-themes/mate-icon-theme +mate-base/caja +mate-extra/mate-polkit +x11-wm/marco +mate-base/mate-settings-daemon +mate-base/mate-session-manager +mate-base/mate-menus +mate-base/mate-panel +x11-themes/mate-backgrounds +x11-misc/mate-notification-daemon +mate-base/mate-control-center +mate-extra/mate-screensaver +mate-extra/mate-media +mate-extra/mate-power-manager +mate-extra/mate-system-monitor +app-text/atril +mate-extra/caja-dropbox +mate-extra/caja-extensions +app-arch/engrampa +media-gfx/eom +mate-base/mate-applets +x11-themes/mate-icon-theme-faenza +mate-extra/mate-indicator-applet +mate-extra/mate-netbook +mate-extra/mate-sensors-applet +mate-base/mate-applets-meta +x11-terms/mate-terminal +mate-extra/mate-user-share +mate-extra/mate-utils +x11-misc/mozo +app-editors/pluma +dev-python/python-caja +mate-base/mate diff --git a/scripts/files/package-lists/package-list-1.16-alphabetical b/scripts/files/package-lists/package-list-1.16-alphabetical new file mode 100644 index 000000000000..9fec80ad8cb0 --- /dev/null +++ b/scripts/files/package-lists/package-list-1.16-alphabetical @@ -0,0 +1,39 @@ +app-arch/engrampa +app-editors/pluma +app-text/atril +dev-libs/libmateweather +dev-python/python-caja +mate-base/caja +mate-base/libmatekbd +mate-base/mate +mate-base/mate-applets +mate-base/mate-applets-meta +mate-base/mate-common +mate-base/mate-control-center +mate-base/mate-desktop +mate-base/mate-menus +mate-base/mate-panel +mate-base/mate-session-manager +mate-base/mate-settings-daemon +mate-extra/caja-dropbox +mate-extra/caja-extensions +mate-extra/mate-indicator-applet +mate-extra/mate-media +mate-extra/mate-netbook +mate-extra/mate-polkit +mate-extra/mate-power-manager +mate-extra/mate-screensaver +mate-extra/mate-sensors-applet +mate-extra/mate-system-monitor +mate-extra/mate-user-guide +mate-extra/mate-user-share +mate-extra/mate-utils +media-gfx/eom +media-libs/libmatemixer +x11-misc/mate-notification-daemon +x11-misc/mozo +x11-terms/mate-terminal +x11-themes/mate-backgrounds +x11-themes/mate-icon-theme +x11-themes/mate-icon-theme-faenza +x11-wm/marco diff --git a/scripts/files/package-lists/package-list-1.16-topological b/scripts/files/package-lists/package-list-1.16-topological new file mode 100644 index 000000000000..d74c747b3f5c --- /dev/null +++ b/scripts/files/package-lists/package-list-1.16-topological @@ -0,0 +1,39 @@ +mate-base/mate-common +mate-base/mate-desktop +mate-extra/mate-user-guide +mate-base/libmatekbd +media-libs/libmatemixer +dev-libs/libmateweather +x11-themes/mate-icon-theme +mate-base/caja +mate-extra/mate-polkit +x11-wm/marco +mate-base/mate-settings-daemon +mate-base/mate-session-manager +mate-base/mate-menus +mate-base/mate-panel +x11-themes/mate-backgrounds +x11-misc/mate-notification-daemon +mate-base/mate-control-center +mate-extra/mate-screensaver +mate-extra/mate-media +mate-extra/mate-power-manager +mate-extra/mate-system-monitor +app-text/atril +mate-extra/caja-dropbox +mate-extra/caja-extensions +app-arch/engrampa +media-gfx/eom +mate-base/mate-applets +x11-themes/mate-icon-theme-faenza +mate-extra/mate-indicator-applet +mate-extra/mate-netbook +mate-extra/mate-sensors-applet +mate-base/mate-applets-meta +x11-terms/mate-terminal +mate-extra/mate-user-share +mate-extra/mate-utils +x11-misc/mozo +app-editors/pluma +dev-python/python-caja +mate-base/mate diff --git a/scripts/files/package-lists/package-list-9999-alphabetical b/scripts/files/package-lists/package-list-9999-alphabetical new file mode 100644 index 000000000000..9fec80ad8cb0 --- /dev/null +++ b/scripts/files/package-lists/package-list-9999-alphabetical @@ -0,0 +1,39 @@ +app-arch/engrampa +app-editors/pluma +app-text/atril +dev-libs/libmateweather +dev-python/python-caja +mate-base/caja +mate-base/libmatekbd +mate-base/mate +mate-base/mate-applets +mate-base/mate-applets-meta +mate-base/mate-common +mate-base/mate-control-center +mate-base/mate-desktop +mate-base/mate-menus +mate-base/mate-panel +mate-base/mate-session-manager +mate-base/mate-settings-daemon +mate-extra/caja-dropbox +mate-extra/caja-extensions +mate-extra/mate-indicator-applet +mate-extra/mate-media +mate-extra/mate-netbook +mate-extra/mate-polkit +mate-extra/mate-power-manager +mate-extra/mate-screensaver +mate-extra/mate-sensors-applet +mate-extra/mate-system-monitor +mate-extra/mate-user-guide +mate-extra/mate-user-share +mate-extra/mate-utils +media-gfx/eom +media-libs/libmatemixer +x11-misc/mate-notification-daemon +x11-misc/mozo +x11-terms/mate-terminal +x11-themes/mate-backgrounds +x11-themes/mate-icon-theme +x11-themes/mate-icon-theme-faenza +x11-wm/marco diff --git a/scripts/files/package-lists/package-list-9999-topological b/scripts/files/package-lists/package-list-9999-topological new file mode 100644 index 000000000000..d34d9812b3f8 --- /dev/null +++ b/scripts/files/package-lists/package-list-9999-topological @@ -0,0 +1,39 @@ +mate-base/mate-common +mate-base/mate-desktop +mate-extra/mate-user-guide +mate-base/libmatekbd +media-libs/libmatemixer +dev-libs/libmateweather +x11-themes/mate-icon-theme +mate-base/caja +mate-extra/mate-polkit +x11-wm/marco +mate-base/mate-settings-daemon +mate-base/mate-session-manager +mate-base/mate-menus +mate-base/mate-panel +x11-themes/mate-backgrounds +x11-misc/mate-notification-daemon +mate-base/mate-control-center +mate-extra/mate-screensaver +mate-extra/mate-media +mate-extra/mate-power-manager +mate-extra/mate-system-monitor +app-text/atril +mate-extra/caja-dropbox +mate-extra/caja-extensions +app-arch/engrampa +media-gfx/eom +mate-base/mate-applets +mate-extra/mate-indicator-applet +mate-extra/mate-netbook +mate-extra/mate-sensors-applet +mate-base/mate-applets-meta +x11-terms/mate-terminal +mate-extra/mate-user-share +mate-extra/mate-utils +x11-misc/mozo +app-editors/pluma +dev-python/python-caja +mate-extra/mate-calc +mate-base/mate |
