Commit fc87cf82 authored by emmapeel's avatar emmapeel Committed by Tails translators

Translated using Weblate (Portuguese)

Currently translated at 17.7% (11 of 62 strings)

Translation: Tails/wiki/src/news/version_3.14.1.*.po
Translate-URL: http://translate.tails.boum.org/projects/tails/wikisrcnewsversion_3141po/pt/
parent 179e0bda

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.
*.mo
*.mo~
*.po~
*.pot~
*.pyc
*.swp
**/__pycache__
**/.mypy_cache
/*.apt-sources
/*.build-manifest
/*.buildlog
/*.img
/*.iso
/*.list
/*.packages
/*.rake_tasks~
/*.vdi
/binary
/cache
/chroot/
/config/amnesia.local
/config/binary
/config/bootstrap
/config/chroot
/config/common
/config/source
/config/chroot_local-includes/etc/amnesia/environment
/config/chroot_local-includes/etc/amnesia/version
/config/chroot_local-includes/usr/share/doc/Changelog
/config/chroot_local-includes/usr/share/doc/amnesia/Changelog
/config/chroot_local-includes/usr/share/doc/tails/website
/config/chroot_local-includes/usr/share/tails/build/variables
/.lock
/.stage
/source
/vagrant/.vagrant
/vagrant/definitions/squeeze/preseed.cfg
/vagrant/iso
/vagrant/squeeze.box
# Jenkins artifacts directory
/build-artifacts/
# Files managed by intltool
/config/chroot_local-includes/etc/skel/Desktop/tails-documentation.desktop
/config/chroot_local-includes/etc/skel/Desktop/Report_an_error.desktop
/config/chroot_local-includes/etc/skel/Desktop/Tails_documentation.desktop
/config/chroot_local-includes/usr/local/share/mime/packages/unlock-veracrypt-volumes.xml
/config/chroot_local-includes/usr/share/applications/org.boum.tails.additional-software-config.desktop
/config/chroot_local-includes/usr/share/applications/tails-documentation.desktop
/config/chroot_local-includes/usr/share/applications/tails-reboot.desktop
/config/chroot_local-includes/usr/share/applications/unsafe-browser.desktop
/config/chroot_local-includes/usr/share/applications/tails-shutdown.desktop
/config/chroot_local-includes/usr/share/applications/tor-browser.desktop
/config/chroot_local-includes/usr/share/applications/tails-about.desktop
/config/chroot_local-includes/usr/share/applications/unlock-veracrypt-volumes.desktop
/config/chroot_local-includes/usr/share/desktop-directories/Tails.directory
/config/chroot_local-includes/usr/share/polkit-1/actions/org.boum.tails.root-terminal.policy
/config/chroot_local-includes/usr/share/polkit-1/actions/org.boum.tails.additional-software.policy
/config/chroot_local-includes/usr/share/tails/unlock-veracrypt-volumes/*.ui
/tmp/
# The test suite's local configuration files
/features/config/local.yml
/features/config/*.d/
[submodule "submodules/pythonlib"]
path = submodules/pythonlib
url = https://git-tails.immerda.ch/pythonlib
[submodule "submodules/jenkins-tools"]
path = submodules/jenkins-tools
url = https://git-tails.immerda.ch/jenkins-tools
[submodule "submodules/chutney"]
path = submodules/chutney
url = https://git-tails.immerda.ch/chutney
branch = feature/tails_test_suite
[submodule "submodules/mirror-pool-dispatcher"]
path = submodules/mirror-pool-dispatcher
url = https://git-tails.immerda.ch/mirror-pool-dispatcher
[submodule "submodules/aufs4-standalone"]
path = submodules/aufs4-standalone
url = https://github.com/sfjro/aufs4-standalone.git
This diff is collapsed.
debian/changelog
\ No newline at end of file
wiki/src/contribute/how/code/HACKING.mdwn
\ No newline at end of file
doc/README
\ No newline at end of file
This diff is collapsed.
#!/bin/bash
set -e
set -u
set -x
. "$(dirname $0)/scripts/utils.sh"
# get $BUILD_BASENAME
. tmp/build_environment
umask 022
### Clone all output, from this point on, to the log file
BUILD_LOG="${BUILD_BASENAME}.buildlog"
exec > >(tee -a "$BUILD_LOG")
trap "kill -9 $! 2>/dev/null" EXIT HUP INT QUIT TERM
exec 2> >(tee -a "$BUILD_LOG" >&2)
trap "kill -9 $! 2>/dev/null" EXIT HUP INT QUIT TERM
### functions
print_iso_size () {
local isofile="$1"
[ -f "$isofile" ] || return 23
size=$(stat --printf='%s' "$isofile")
echo "I: The ISO is ${size} bytes large."
}
### Main
# we require building from git
git rev-parse --is-inside-work-tree &> /dev/null \
|| fatal "${PWD} is not a Git tree."
. config/amnesia
if [ -e config/amnesia.local ] ; then
. config/amnesia.local
fi
# a clean starting point
rm -rf cache/stages_rootfs
# get LB_BINARY_IMAGES
. config/binary
# get LB_ARCHITECTURE and LB_DISTRIBUTION
. config/bootstrap
# save variables that are needed by chroot_local-hooks
echo "KERNEL_VERSION=${KERNEL_VERSION}" \
>> config/chroot_local-includes/usr/share/tails/build/variables
echo "KERNEL_SOURCE_VERSION=${KERNEL_SOURCE_VERSION}" \
>> config/chroot_local-includes/usr/share/tails/build/variables
echo "LB_DISTRIBUTION=${LB_DISTRIBUTION}" >> config/chroot_local-includes/usr/share/tails/build/variables
echo "POTFILES_DOT_IN='$(
/bin/grep -E --no-filename '[^ #]*\.in$' po/POTFILES.in \
| sed -e 's,^config/chroot_local-includes,,' | tr "\n" ' '
)'" \
>> config/chroot_local-includes/usr/share/tails/build/variables
# fix permissions on some source files that will be copied as is to the chroot.
# they may be wrong, e.g. if the Git repository was cloned with a strict umask.
chown 0:0 config/chroot_local-includes/etc/resolv.conf
chmod -R go+rX config/binary_local-includes/
chmod -R go+rX config/chroot_local-includes/etc
chmod 0440 config/chroot_local-includes/etc/sudoers.d/*
chmod go+rX config/chroot_local-includes/lib
chmod go+rX config/chroot_local-includes/lib/live
chmod -R go+rx config/chroot_local-includes/lib/live/config
chmod go+rX config/chroot_local-includes/lib/live/mount
chmod -R go+rX config/chroot_local-includes/lib/systemd
chmod go+rX config/chroot_local-includes/live
chmod -R go+rX config/chroot_local-includes/usr
chmod -R go+rx config/chroot_local-includes/usr/local/bin
chmod -R go+rx config/chroot_local-includes/usr/local/sbin
chmod -R go+rX config/chroot_local-includes/usr/share/doc
chmod -R go+rX config/chroot_local-includes/var
chmod -R go+rX config/chroot_apt
chmod -R go+rX config/chroot_sources
# normalize file timestamps
find \
config/binary_local-includes \
config/chroot_local-includes \
wiki/src \
-exec touch --date="@$SOURCE_DATE_EPOCH" '{}' \;
# build the image
# we need /debootstrap/deburis to build a manifest of used packages:
DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS:-} --keep-debootstrap-dir"
# we're not ready for merged-/usr yet: Debian#843461, Tails#11903
DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS:-} --no-merged-usr"
# use our own APT repository's key:
DEBOOTSTRAP_GNUPG_HOMEDIR=$(mktemp -d)
gpg --homedir "$DEBOOTSTRAP_GNUPG_HOMEDIR" \
--no-tty \
--import config/chroot_sources/tails.chroot.gpg
DEBOOTSTRAP_GNUPG_KEYRING="$DEBOOTSTRAP_GNUPG_HOMEDIR/pubring.kbx"
[ -e "$DEBOOTSTRAP_GNUPG_KEYRING" ] \
|| fatal "No debootstrap GnuPG keyring was created."
DEBOOTSTRAP_OPTIONS="$DEBOOTSTRAP_OPTIONS --keyring=$DEBOOTSTRAP_GNUPG_KEYRING"
export DEBOOTSTRAP_OPTIONS
: ${MKSQUASHFS_OPTIONS:='-comp xz -Xbcj x86 -b 1024K -Xdict-size 1024K -no-exports'}
MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -mem 512M -wildcards -ef chroot/usr/share/tails/build/mksquashfs-excludes"
export MKSQUASHFS_OPTIONS
# build the doc wiki
./build-website
# refresh translations of our programs
./refresh-translations || fatal "refresh-translations failed ($?)."
BUILD_ISO_FILENAME="${BUILD_BASENAME}.iso"
BUILD_MANIFEST="${BUILD_BASENAME}.build-manifest"
BUILD_APT_SOURCES="${BUILD_BASENAME}.apt-sources"
BUILD_PACKAGES="${BUILD_BASENAME}.packages"
BUILD_USB_IMAGE_FILENAME="${BUILD_BASENAME}.img"
(
echo "Mirrors:"
apt-mirror debian
apt-mirror debian-security
apt-mirror torproject
echo "Additional sources:"
cat config/chroot_sources/*.chroot
) > "$BUILD_APT_SOURCES"
echo "I: Building ISO image ${BUILD_ISO_FILENAME}..."
time lb build noauto ${@}
[ -e binary.iso ] || fatal "lb build failed ($?)."
echo "I: ISO image was successfully created"
print_iso_size binary.iso
echo "I: Hybriding it..."
isohybrid $AMNESIA_ISOHYBRID_OPTS binary.iso || fatal "isohybrid failed"
print_iso_size binary.iso
truncate -s %2048 binary.iso
print_iso_size binary.iso
echo "I: Renaming generated files..."
mv -i binary.iso "${BUILD_ISO_FILENAME}"
mv -i binary.packages "${BUILD_PACKAGES}"
echo "I: Generating build manifest..."
generate-build-manifest chroot/debootstrap "${BUILD_MANIFEST}"
echo "I: Creating USB image ${BUILD_USB_IMAGE_FILENAME}..."
create-usb-image-from-iso "${BUILD_ISO_FILENAME}"
#!/bin/sh
set -e
set -u
set -x
for dir in chroot/{dev/pts,proc,sys,var/lib/dpkg} ; do
if mountpoint -q "$dir" ; then
umount "$dir"
fi
done
lb clean noauto ${@}
# rm -f build-*.log
# Remove generated files
rm -f config/binary config/bootstrap config/chroot config/common config/source
# Remove empty directories in config tree
if ls config/*/ > /dev/null 2>&1 ; then
rmdir --ignore-fail-on-non-empty config/*/
fi
# files copied or created in the config stage
rm -f config/chroot_local-includes/etc/amnesia/environment
rm -f config/chroot_local-includes/etc/amnesia/version
rm -f config/chroot_local-includes/usr/share/doc/amnesia/Changelog
for list in config/chroot_local-packageslists/*.list ; do
if [ "$list" != 'config/chroot_local-packageslists/tails-common.list' ]; then
rm -f "$list"
fi
done
# files copied or created in the build stage
rm -f config/chroot_local-includes/usr/share/tails/build/variables
# static wiki
rm -rf config/chroot_local-includes/usr/share/doc/tails/website wiki/src/.ikiwiki
find wiki/src -name *.pot -exec rm {} \;
#! /bin/sh
# automatically run by "lb config"
set -e
set -u
set -x
. "$(dirname $0)/scripts/utils.sh"
. config/amnesia
if [ -e config/amnesia.local ] ; then
. config/amnesia.local
fi
if [ -n "${SOURCE_DATE_EPOCH}" ]; then
CURRENT_EPOCH="$(date --utc +%s)"
if [ "${SOURCE_DATE_EPOCH}" -gt "${CURRENT_EPOCH}" ]; then
fatal "SOURCE_DATE_EPOCH is set before the current time. Exiting."
fi
else
fatal "SOURCE_DATE_EPOCH is not set. Exiting."
fi
# get git branch or tag so we can set the basename appropriately, i.e.:
# * if we build from a tag: tails-$ARCH-$TAG.iso
# * otherwise: tails-$ARCH-$BRANCH-$VERSION-$TIME-$COMMIT.iso
GIT_BRANCH="$(git_current_branch)"
if [ -n "${GIT_BRANCH}" ]; then
CLEAN_GIT_BRANCH=$(echo "$GIT_BRANCH" | sed 's,/,_,g')
GIT_SHORT_ID="$(git_current_commit --short)"
BUILD_BASENAME="tails-amd64-${CLEAN_GIT_BRANCH}-${AMNESIA_VERSION}-${AMNESIA_NOW}-${GIT_SHORT_ID}"
else
if git_on_a_tag; then
CLEAN_GIT_TAG=$(git_current_tag | tr '/-' '_~')
BUILD_BASENAME="tails-amd64-${CLEAN_GIT_TAG}"
else
# this shouldn't reasonably happen (e.g. only if you checkout a
# tag, remove the tag and then build)
fatal "Neither a Git branch nor a tag, exiting."
fi
fi
GIT_BASE_BRANCH=$(base_branch) \
|| fatal "GIT_BASE_BRANCH could not be guessed."
if [ "${TAILS_MERGE_BASE_BRANCH:-}" = 1 ] && \
! git_on_a_tag && [ "$GIT_BRANCH" != "$GIT_BASE_BRANCH" ] ; then
[ -n "${BASE_BRANCH_GIT_COMMIT}" ] \
|| fatal "Base branch's top commit is not set."
echo "I: Merging base branch ${GIT_BASE_BRANCH}" \
"(at commit ${BASE_BRANCH_GIT_COMMIT})..."
faketime -f "${SOURCE_DATE_FAKETIME}" \
git merge --no-edit "${BASE_BRANCH_GIT_COMMIT}" \
|| fatal "Failed to merge base branch."
git submodule update --init
# Adjust BUILD_BASENAME to embed the base branch name and its top commit
CLEAN_GIT_BASE_BRANCH=$(echo "$GIT_BASE_BRANCH" | sed 's,/,_,g')
GIT_BASE_BRANCH_SHORT_ID=$(git rev-parse --verify --short "${BASE_BRANCH_GIT_COMMIT}")
[ -n "${GIT_BASE_BRANCH_SHORT_ID}" ] \
|| fatal "Base branch's top commit short ID could not be guessed."
BUILD_BASENAME="${BUILD_BASENAME}+${CLEAN_GIT_BASE_BRANCH}"
BUILD_BASENAME="${BUILD_BASENAME}@${GIT_BASE_BRANCH_SHORT_ID}"
fi
# save variables that lb build needs
mkdir -p tmp
echo "BUILD_BASENAME='${BUILD_BASENAME}'" > tmp/build_environment
# sanity checks
if grep -qs -E '^Pin:\s+release\s+.*a=' config/chroot_apt/preferences ; then
fatal "Found unsupported a= syntax in config/chroot_apt/preferences," \
"use n= instead. Exiting."
fi
if grep -qs -E '^Pin:\s+release\s+.*o=Debian Backports' \
config/chroot_apt/preferences ; then
fatal "Found unsupported 'o=Debian Backports' syntax," \
"in config/chroot_apt/preferences. Use o=Debian instead. Exiting."
fi
if [ $(dpkg --print-architecture) != amd64 ] ; then
fatal "Only amd64 build systems are supported"
fi
# init variables
RUN_LB_CONFIG="lb config noauto"
# init config/ with defaults for the target distribution
$RUN_LB_CONFIG --distribution stretch ${@}
# set up everything for time-based snapshots:
if [ -n "${APT_SNAPSHOTS_SERIALS:-}" ]; then
echo "I: Fixing 'latest' APT snapshots serials to: '${APT_SNAPSHOTS_SERIALS}'."
apt-snapshots-serials prepare-build "${APT_SNAPSHOTS_SERIALS}"
else
apt-snapshots-serials prepare-build
fi
# record what APT snapshots this build is going to use, so that one
# can try to reproduce it more reliably
JENKINS_ENV_PROPERTIES=tails-build-env.list
echo "# This file is in Java property file format" >> "$JENKINS_ENV_PROPERTIES"
echo "# (https://en.wikipedia.org/wiki/.properties)" >> "$JENKINS_ENV_PROPERTIES"
echo "APT_SNAPSHOTS_SERIALS = $(apt-snapshots-serials cat-json tmp/APT_snapshots.d)" \
>> "$JENKINS_ENV_PROPERTIES"
DEBIAN_MIRROR="$(apt-mirror debian)"
DEBIAN_SECURITY_MIRROR="$(apt-mirror debian-security)"
TORPROJECT_MIRROR="$(apt-mirror torproject)"
[ -n "$DEBIAN_MIRROR" ] || fatal "\$DEBIAN_MIRROR is empty"
[ -n "$DEBIAN_SECURITY_MIRROR" ] || fatal "\$DEBIAN_SECURITY_MIRROR is empty"
[ -n "$TORPROJECT_MIRROR" ] || fatal "\$TORPROJECT_MIRROR is empty"
perl -pi \
-E \
"s|^(deb(?:-src)?\s+)https?://ftp[.]us[.]debian[.]org/debian/?(\s+)|\$1$DEBIAN_MIRROR\$2| ; \
s|^(deb(?:-src)?\s+)https?://deb[.]torproject[.]org/torproject[.]org/?(\s+)|\$1$TORPROJECT_MIRROR\$2|" \
config/chroot_sources/*.chroot \
|| fatal "APT mirror substitution failed with exit code $?"
# set Amnesia's general options
$RUN_LB_CONFIG \
--verbose \
--apt-recommends false \
--architecture amd64 \
--backports false \
--binary-images iso \
--binary-indices false \
--cache false \
--cache-indices false \
--cache-packages false \
--cache-stages false \
--checksums none \
--bootappend-live "${AMNESIA_APPEND}" \
--bootstrap debootstrap \
--bootstrap-config tails-build-jessie \
--archive-areas "main contrib non-free" \
--includes none \
--iso-application="The Amnesic Incognito Live System" \
--iso-publisher="https://tails.boum.org/" \
--iso-volume="TAILS ${AMNESIA_FULL_VERSION}" \
--linux-flavours amd64 \
--memtest none \
--mirror-binary "$DEBIAN_MIRROR" \
--mirror-bootstrap "$DEBIAN_MIRROR" \
--mirror-chroot "$DEBIAN_MIRROR" \
--mirror-binary-security "$DEBIAN_SECURITY_MIRROR" \
--mirror-chroot-security "$DEBIAN_SECURITY_MIRROR" \
--packages-lists="standard" \
--tasks="standard" \
--linux-packages="linux-image-${KERNEL_VERSION}" \
--syslinux-menu vesamenu \
--syslinux-splash data/splash.png \
--syslinux-timeout 4 \
--initramfs=live-boot \
${@}
install -d config/chroot_local-includes/etc/amnesia/
# environment
TAILS_WIKI_SUPPORTED_LANGUAGES="$(ikiwiki-supported-languages ikiwiki.setup)"
[ -n "$TAILS_WIKI_SUPPORTED_LANGUAGES" ] \
|| fatal "\$TAILS_WIKI_SUPPORTED_LANGUAGES is empty"
echo "TAILS_WIKI_SUPPORTED_LANGUAGES='${TAILS_WIKI_SUPPORTED_LANGUAGES}'" \
>> config/chroot_local-includes/etc/amnesia/environment
# version
echo "${AMNESIA_FULL_VERSION}" > config/chroot_local-includes/etc/amnesia/version
if git rev-list HEAD 2>&1 >/dev/null; then
git rev-list HEAD | head -n 1 >> config/chroot_local-includes/etc/amnesia/version
fi
echo "live-build: `dpkg-query -W -f='${Version}\n' live-build`" \
>> config/chroot_local-includes/etc/amnesia/version
# os-release
cat >> config/chroot_local-includes/etc/os-release <<EOF
TAILS_PRODUCT_NAME="Tails"
TAILS_VERSION_ID="$AMNESIA_VERSION"
TAILS_DISTRIBUTION="$TAILS_DISTRIBUTION"
EOF
if echo "$AMNESIA_VERSION" | grep -qs -E '~(alpha|beta|rc)[0-9]*$' ; then
echo 'TAILS_CHANNEL="alpha"' >> config/chroot_local-includes/etc/os-release
fi
# changelog
cp debian/changelog config/chroot_local-includes/usr/share/doc/amnesia/Changelog
# custom APT sources
tails-custom-apt-sources > config/chroot_sources/tails.chroot \
|| fatal "tails-custom-apt-sources failed with exit code $?"
# tails-transform-mirror-url and its dependencies
install -m 0755 \
submodules/mirror-pool-dispatcher/bin/tails-transform-mirror-url \
config/chroot_local-includes/usr/local/bin/
install -m 0755 -d config/chroot_local-includes/usr/local/lib/nodejs
install -m 0755 \
submodules/mirror-pool-dispatcher/lib/js/mirror-dispatcher.js \
config/chroot_local-includes/usr/local/lib/nodejs/
# aufs4-standalone
rm -rf config/chroot_local-includes/usr/src/aufs4-standalone
cp -a submodules/aufs4-standalone config/chroot_local-includes/usr/src/
# custom debootstrap script, setting some APT magic to log downloads:
patch \
--follow-symlinks \
--output=/usr/share/debootstrap/scripts/tails-build-jessie \
/usr/share/debootstrap/scripts/jessie \
data/debootstrap/scripts/jessie.patch
sed -i "s,%%topdir%%,$(pwd)," /usr/share/debootstrap/scripts/tails-build-jessie
# Make the python library available in Tails
install -d -m 2777 config/chroot_local-includes/tmp/
cp -r submodules/pythonlib config/chroot_local-includes/tmp/
#!/bin/bash
set -e
set -u
. "$(dirname $0)/utils.sh"
ARCHIVE="$1"
output_tagged_snapshot() {
local archive="$1"
local tag="$2"
local snapshot=$(branch_name_to_suite "$tag")
echo "http://tagged.snapshots.deb.tails.boum.org/$snapshot/$archive"
}
output_time_based_snapshot() {
local archive="$1"
local serial="$2"
echo "http://time-based.snapshots.deb.tails.boum.org/$archive/$serial"
}
### Sanity checks
[ -n "$ARCHIVE" ] || exit 1
### Main
SERIAL=$(cat "config/APT_snapshots.d/$ARCHIVE/serial")
RESOLVED_SERIAL=$(cat "tmp/APT_snapshots.d/$ARCHIVE/serial")
BASE_BRANCH=$(base_branch)
CURRENT_BRANCH=$(git_current_branch)
if [ "$BASE_BRANCH" = stable ] \
|| [ "$BASE_BRANCH" = testing ] \
|| [ "$CURRENT_BRANCH" = feature/buster ] \
|| ( git_on_a_tag && [ "$BASE_BRANCH" = feature/buster ] ) \
then
case "$ARCHIVE" in
debian-security)
[ "$SERIAL" = latest ] \
|| fatal "APT snapshots are frozen for the debian-security archive," \
"which should happen neither on feature/buster nor on" \
"a branch based on $BASE_BRANCH"
;;
*)
[ "$SERIAL" != latest ] \
|| fatal "APT snapshots are not frozen for the $ARCHIVE archive," \
"which should happen neither on feature/buster nor on" \
"a branch based on $BASE_BRANCH"
esac
if version_was_released "$(version_in_changelog)"; then
git_on_a_tag \
|| fatal "Not building from a tag, but last version in changelog" \
"was released"
output_tagged_snapshot "$ARCHIVE" "$(version_in_changelog)"
else
if [ "$BASE_BRANCH" = stable ] ; then
version_was_released "$(previous_version_in_changelog)" \
|| fatal "None of the two last version in changelog were released"
fi
output_time_based_snapshot "$ARCHIVE" "$RESOLVED_SERIAL"
fi
else
if [ "$BASE_BRANCH" = devel ] || [ "$CURRENT_BRANCH" = feature/buster ]; then
if [ "$SERIAL" != latest ]; then
fatal "APT snapshots are frozen, which should happen neither on" \
"feature/buster nor on a branch based on the devel one"
fi
fi
output_time_based_snapshot "$ARCHIVE" "$RESOLVED_SERIAL"
fi
#!/bin/bash
set -e
set -u
set -o pipefail
BASE_URL=http://time-based.snapshots.deb.tails.boum.org/
CONFIG=config/APT_snapshots.d
SERIAL_ONLY=
APT_SNAPSHOTS_SERIALS=
FREEZE_EXCEPTIONS=debian-security
get_latest_serial() {
origin=$1
wget -q $BASE_URL/$origin/project/trace/$origin -O - \
| awk -F': ' '/^Archive serial: / {print $2}'
}
if [ $# -eq 0 ]; then
action="cat"
ORIGINS="$(cd ${CONFIG}; ls -d *)"
else