Compare commits

..

No commits in common. "master" and "v3.7.3" have entirely different histories.

14354 changed files with 636234 additions and 272933 deletions

View file

@ -5,13 +5,13 @@ ProxSpace is a collection of tools that are required to compile the firmware and
ProxSpace comes with 2 different executables .bat files. ProxSpace comes with 2 different executables .bat files.
- `runme64.bat` will start ProxSpace in x64 mode. - `runme64.bat` will start ProxSpace in x64 mode.
- `autobuild.bat` runs a script (setup/autobuild.sh) in x64 mode at startup. The script will update all git repositories in the pm3 folder and then compile them and move a zip file with the just compiled firmware and client into the build folder. It is not designed for development, just for compiling. - `autobuild.bat` runs a script (msys2/autobuild.sh) in x86 mode as well as in x64 mode at startup. The script will update all git repositories in the pm3 folder and then compile them and move a zip file with the just compiled firmware and client into the build folder. It is not designed for development, just for compiling.
## What's installed ## What's installed
ProxSpace will automatically download and update to the latest required packages. All tools will be contained within the ProxSpace folder. ProxSpace will automatically download and update to the latest required packages. All tools will be contained within the ProxSpace folder, however **once ProxSpace is setup the ProxSpace folder must not be moved**. If you wish to have ProxSpace in a different directory, you need to reinstall it.
ProxSpace is based on: ProxSpace is based on:
- msys2-x86_64-20210725 - msys2-x86_64-20200903
Following packages will be automatically download or updated: Following packages will be automatically download or updated:
- arm-none-eabi-gcc - arm-none-eabi-gcc
@ -32,28 +32,27 @@ ProxSpace is based on:
- jansson - jansson
## Package management system ## Package management system
MSYS2 features a package management system to provide easy installation of packages, Pacman. It brings many powerful features such as dependency resolution and simple complete system upgrades, as well as straight-forward package building. All installed packages can be updated with `pacman -Syuu` For more details visit [the MSYS2 wiki](https://github.com/msys2/msys2/wiki) MSYS2 features a package management system to provide easy installation of packages, Pacman. It brings many powerful features such as dependency resolution and simple complete system upgrades (excluding the GNU Arm Embedded Toolchain), as well as straight-forward package building. All installed packages can be updated with `pacman -Syuu` For more details visit [the MSYS2 wiki](https://github.com/msys2/msys2/wiki)
## Installation ## Installation
1. There are two methods of installing the ProxSpace environment. 1. There are two methods of installing the ProxSpace environment.
* Downloading [the latest master](https://github.com/Gator96100/ProxSpace/archive/master.zip). This will upgrade the msys2 core packages and then will download and install every package required for compiling the Proxmark client and firmware. This can take some time. * Downloading [the latest master](https://github.com/Gator96100/ProxSpace/archive/master.zip). This will upgrade the msys2 core packages and then will download and install every package required for compiling the Proxmark client and firmware.
* Downloading [the latest release](https://github.com/Gator96100/ProxSpace/releases). This ProxSpace environment is prepared for a fast installation, all packages are already cached. * Downloading [the latest release](https://github.com/Gator96100/ProxSpace/releases). This ProxSpace environment has the required packages cached and will only install and update outdated packages.
2. Extract 'ProxSpace' to a location on drive without spaces. For example `C:\Proxspace` or `D:\projects\public\proxmark\proxspace` are ok, whereas `C:\My Documents\My Projects\proxspace` is not. 2. Extract 'ProxSpace' to a location on drive without spaces. For example `C:\Proxspace` or `D:\projects\public\proxmark\proxspace` are ok, whereas `C:\My Documents\My Projects\proxspace` is not.
3. Run `runme64.bat` depending on your Windows architecture. 3. Run `runme64.bat` depending on your Windows architecture.
4. Get the Proxmark III repository you wish to compile. This can be done with git. For example `git clone https://github.com/RfidResearchGroup/proxmark3.git`. 4. Get the Proxmark III repository you wish to compile. This can be done with git. For example `git clone https://github.com/Proxmark/proxmark3.git`.
5. Go into the root directory of the repository you wish to compile. For example `cd proxmark3`. 5. Go into the root directory of the repository you wish to compile. For example `cd proxmark3`.
6. To build the project type `make clean && make all`. 6. To build the project type `make clean && make all`.
7. In most cases the Proxmark III needs to be flashed with the just compiled firmware for details see **Firmware upgrading the Proxmark III**. 7. In most cases the Proxmark III needs to be flashed with the just compiled firmware for details see **Firmware upgrading the Proxmark III**.
8. To run the Proxmark III client type `./pm3`. 8. To run the Proxmark III client type `./client/proxmark3.exe COM1` where COM1 is the USB port of the Proxmark III.
9. Check your firmware revision on the Proxmark III with `hw ver` 9. Check your firmware revision on the Proxmark III with `hw ver`
10. For basic help type `help`. Or for help on a set of sub commands type the command followed by help. For example `hf mf help`. 10. For basic help type `help`. Or for help on a set of sub commands type the command followed by help. For example `hf mf help`.
## Firmware upgrading the Proxmark III ## Firmware upgrading the Proxmark III
Please note that more detail is available on the wiki: https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/md/Use_of_Proxmark/0_Compilation-Instructions.md#flash-the-bootrom--fullimage Please note that more detail is available on the wiki: https://github.com/Proxmark/proxmark3/wiki
1. Attach the Proxmark III to a USB port on your computer. 1. Attach the Proxmark III to a USB port on your computer.
2. Flash the bootrom with `./pm3-flash-bootrom`. 2. Flash the bootrom and fullimage with `./client/flasher COM1 -b ./bootrom/obj/bootrom.elf ./armsrc/obj/fullimage.elf`where COM1 is the USB port of the Proxmark III.
3. Flash the fullimage with `./pm3-flash-fullimage`. 3. Wait for the process to complete.
4. Wait for the process to complete.
## Setup video ## Setup video
[![ProxSpace Windows 10 setup](http://img.youtube.com/vi/-DLYp-yWmtQ/0.jpg)](http://www.youtube.com/watch?v=-DLYp-yWmtQ "ProxSpace Windows 10 setup") [![ProxSpace Windows 10 setup](http://img.youtube.com/vi/-DLYp-yWmtQ/0.jpg)](http://www.youtube.com/watch?v=-DLYp-yWmtQ "ProxSpace Windows 10 setup")

View file

@ -1,5 +1,5 @@
@echo off @echo off
call setup\setup.cmd call msys2\ps\setup.cmd
taskkill /IM "gpg-agent.exe" /F 2>NUL taskkill /IM "gpg-agent.exe" /F 2>NUL
echo %~dp0builds /builds ntfs noacl 0 0 >>msys2/etc/fstab echo %~dp0builds /builds ntfs noacl 0 0 >>msys2/etc/fstab
call msys2\msys2_shell.cmd -mingw64 -defterm -no-start -c /setup/autobuild.sh call msys2\msys2_shell.cmd -mingw64 -defterm -no-start -c /ps/autobuild.sh

View file

@ -0,0 +1,15 @@
@echo off
REM Copyright (c) 2014, Ray Donnelly <mingw.android@gmail.com>
set PATH=%~dp0\usr\bin;%PATH%
echo Querying 'base' packages for DLLs ..
%~dp0\usr\bin\bash /usr/bin/pacman-rec-filename-grep base base-dlls-unix.txt ".*\.(dll|so|oct)$"
%~dp0\usr\bin\bash /usr/bin/paths-from-unix-to-windows base-dlls-unix.txt base-dlls.txt %CD:\=/%
echo Rebasing all DLLs, 'base' ones first ..
REM -i is new; it means ignore database and
REM rebase from end of {cygwin1,msys-2.0}.dll
REM it work by avoiding passing -s to rebase.exe
REM which has modifications to support this mode.
%~dp0\usr\bin\dash /usr/bin/rebaseall -T base-dlls.txt -i -p

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

View file

@ -1,5 +0,0 @@
#MSYS=winsymlinks:nativestrict
#MSYS=error_start:mingw64/bin/qtcreator.exe|-debug|<process-id>
#CHERE_INVOKING=1
#MSYS2_PATH_TYPE=inherit
MSYSTEM=CLANG32

View file

@ -0,0 +1,21 @@
# This file is in public domain.
# Original author: Karlson2k (Evgeny Grin)
# Written for MSys2/MinGW64 to help running 'configure' scripts
# Defaults for MinGW64-targeted programs
# Set proper selfname on bash and fallback to default name on other shells
test -n "${BASH_SOURCE}" 2>/dev/null && config_site_me="${BASH_SOURCE[0]##*/}" || config_site_me=config.site
# Set default 'host' to speedup configure
if test -z "$build_alias"; then
build_alias="${MSYSTEM_CHOST-i686-w64-mingw32}" && \
${as_echo-echo} "$config_site_me:${as_lineno-$LINENO}: default build_alias set to $build_alias" >&5
fi
# Set default 'prefix' to "/clang32"
if ( test -z "$prefix" || test "x$prefix" = "xNONE" ) && \
( test -z "$exec_prefix" || test "x$exec_prefix" = "xNONE" ); then
prefix="${MSYSTEM_PREFIX-/clang32}" && \
${as_echo-echo} "$config_site_me:${as_lineno-$LINENO}: default prefix set to $prefix" >&5
fi

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

View file

@ -1,5 +0,0 @@
#MSYS=winsymlinks:nativestrict
#MSYS=error_start:mingw64/bin/qtcreator.exe|-debug|<process-id>
#CHERE_INVOKING=1
#MSYS2_PATH_TYPE=inherit
MSYSTEM=CLANG64

View file

@ -0,0 +1,21 @@
# This file is in public domain.
# Original author: Karlson2k (Evgeny Grin)
# Written for MSys2/MinGW64 to help running 'configure' scripts
# Defaults for MinGW64-targeted programs
# Set proper selfname on bash and fallback to default name on other shells
test -n "${BASH_SOURCE}" 2>/dev/null && config_site_me="${BASH_SOURCE[0]##*/}" || config_site_me=config.site
# Set default 'host' to speedup configure
if test -z "$build_alias"; then
build_alias="${MSYSTEM_CHOST-x86_64-w64-mingw32}" && \
${as_echo-echo} "$config_site_me:${as_lineno-$LINENO}: default build_alias set to $build_alias" >&5
fi
# Set default 'prefix' to "/clang64"
if ( test -z "$prefix" || test "x$prefix" = "xNONE" ) && \
( test -z "$exec_prefix" || test "x$exec_prefix" = "xNONE" ); then
prefix="${MSYSTEM_PREFIX-/clang64}" && \
${as_echo-echo} "$config_site_me:${as_lineno-$LINENO}: default prefix set to $prefix" >&5
fi

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

View file

@ -1,5 +0,0 @@
#MSYS=winsymlinks:nativestrict
#MSYS=error_start:mingw64/bin/qtcreator.exe|-debug|<process-id>
#CHERE_INVOKING=1
#MSYS2_PATH_TYPE=inherit
MSYSTEM=CLANGARM64

15
msys2/dir Normal file
View file

@ -0,0 +1,15 @@
This is the file .../info/dir, which contains the
topmost node of the Info hierarchy, called (dir)Top.
The first time you invoke Info you start off looking at this node.

File: dir, Node: Top This is the top of the INFO tree
This (the Directory node) gives a menu of major topics.
Typing "q" exits, "H" lists all Info commands, "d" returns here,
"h" gives a primer for first-timers,
"mEmacs<Return>" visits the Emacs manual, etc.
In Emacs, you can click mouse button 2 on a menu item or cross reference
to select it.
* Menu:

View file

@ -54,12 +54,8 @@ if [[ -n "$(command -v getent)" ]] && id -G | grep -q "$(getent -w group 'S-1-16
then _ps1_symbol='\[\e[1m\]#\[\e[0m\]' then _ps1_symbol='\[\e[1m\]#\[\e[0m\]'
else _ps1_symbol='\$' else _ps1_symbol='\$'
fi fi
case "$(declare -p PS1 2>/dev/null)" in [[ $(declare -p PS1 2>/dev/null | cut -c 1-11) = 'declare -x ' ]] || \
'declare -x '*) ;; # okay
*)
export PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[35m\]$MSYSTEM\[\e[0m\] \[\e[33m\]\w\[\e[0m\]\n'"${_ps1_symbol}"' ' export PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[35m\]$MSYSTEM\[\e[0m\] \[\e[33m\]\w\[\e[0m\]\n'"${_ps1_symbol}"' '
;;
esac
unset _ps1_symbol unset _ps1_symbol
# Uncomment to use the terminal colours set in DIR_COLORS # Uncomment to use the terminal colours set in DIR_COLORS

View file

@ -2,20 +2,40 @@
# Original author: Karlson2k (Evgeny Grin) # Original author: Karlson2k (Evgeny Grin)
# Written for MSys2 to help running 'configure' scripts # Written for MSys2 to help running 'configure' scripts
# Defaults for MSys2/MinGW64-targeted programs # Use correct config.site even if CONFIG_SITE is not set
if test "x$MSYSTEM" = "xMINGW64"; then
if test -r "${MINGW_PREFIX-/mingw64}/etc/config.site"; then
. "${MINGW_PREFIX-/mingw64}/etc/config.site"
fi
elif test "x$MSYSTEM" = "xMINGW32"; then
if test -r "${MINGW_PREFIX-/mingw32}/etc/config.site"; then
. "${MINGW_PREFIX-/mingw32}/etc/config.site"
fi
elif test "x$MSYSTEM" = "xCLANG64"; then
if test -r "${MINGW_PREFIX-/clang64}/etc/config.site"; then
. "${MINGW_PREFIX-/clang64}/etc/config.site"
fi
elif test "x$MSYSTEM" = "xCLANG32"; then
if test -r "${MINGW_PREFIX-/clang32}/etc/config.site"; then
. "${MINGW_PREFIX-/clang32}/etc/config.site"
fi
else
# Defaults for MSys2-targeted programs
# Set proper selfname on bash and fallback to default name on other shells # Set proper selfname on bash and fallback to default name on other shells
test -n "${BASH_SOURCE}" 2>/dev/null && config_site_me="${BASH_SOURCE[0]##*/}" || config_site_me=config.site test -n "${BASH_SOURCE}" 2>/dev/null && config_site_me="${BASH_SOURCE[0]##*/}" || config_site_me=config.site
# Set default 'host' to speedup configure
if test -z "$build_alias"; then
build_alias="${MSYSTEM_CARCH-x86_64}-pc-msys" && \
${as_echo-echo} "$config_site_me:${as_lineno-$LINENO}: default build_alias set to $build_alias" >&5
fi
# Set default 'prefix' to "/usr"
if ( test -z "$prefix" || test "x$prefix" = "xNONE" ) && \
( test -z "$exec_prefix" || test "x$exec_prefix" = "xNONE" ); then
prefix="${MSYSTEM_PREFIX-/usr}" && \
${as_echo-echo} "$config_site_me:${as_lineno-$LINENO}: default prefix set to $prefix" >&5
fi
# Set default 'host' to speedup configure
if test -z "$build_alias"; then
build_alias="${MSYSTEM_CHOST}" && \
${as_echo-echo} "$config_site_me:${as_lineno-$LINENO}: default build_alias set to $build_alias" >&5
fi
# Set default 'prefix'
if ( test -z "$prefix" || test "x$prefix" = "xNONE" ) && \
( test -z "$exec_prefix" || test "x$exec_prefix" = "xNONE" ); then
prefix="${MSYSTEM_PREFIX}" && \
${as_echo-echo} "$config_site_me:${as_lineno-$LINENO}: default prefix set to $prefix" >&5
fi fi

View file

@ -1,103 +0,0 @@
# To the extent possible under law, the author(s) have dedicated all
# copyright and related and neighboring rights to this software to the
# public domain worldwide. This software is distributed without any warranty.
# You should have received a copy of the CC0 Public Domain Dedication along
# with this software.
# If not, see <https://creativecommons.org/publicdomain/zero/1.0/>.
# "\e[3~": delete-char
# VT
# "\e[1~": beginning-of-line
# "\e[4~": end-of-line
# kvt
# "\e[H": beginning-of-line
# "\e[F": end-of-line
# rxvt and konsole (i.e. the KDE-app...)
# "\e[7~": beginning-of-line
# "\e[8~": end-of-line
# VT220
# "\eOH": beginning-of-line
# "\eOF": end-of-line
# Allow 8-bit input/output
# set meta-flag on
# set convert-meta off
# set input-meta on
# set output-meta on
#$if Bash
# Don't ring bell on completion
set bell-style none
# or, don't beep at me - show me
#set bell-style visible
# Show all instead of beeping first
set show-all-if-ambiguous off
# Filename completion/expansion
set completion-ignore-case on
#set show-all-if-ambiguous on
# Expand homedir name
#set expand-tilde on
# Append "/" to all dirnames
#set mark-directories on
#set mark-symlinked-directories on
# visible-stats
# Append a mark according to the file type in a listing
set visible-stats off
set mark-directories on
# Match all files
#set match-hidden-files on
# 'Magic Space'
# Insert a space character then performs
# a history expansion in the line
#Space: magic-space
#$endif
# MSYSTEM is emacs based
$if mode=emacs
# Common to Console & RXVT
"\e[2~": paste-from-clipboard # "Ins. Key"
"\e[5~": beginning-of-history # Page up
"\e[6~": end-of-history # Page down
$if term=msys # RXVT
"\e[7~": beginning-of-line # Home Key
"\e[8~": end-of-line # End Key
"\e[11~": display-shell-version # F1
"\e[15~": re-read-init-file # F5
"\e[12~": "Function Key 2"
"\e[13~": "Function Key 3"
"\e[14~": "Function Key 4"
"\e[17~": "Function Key 6"
"\e[18~": "Function Key 7"
"\e[19~": "Function Key 8"
"\e[20~": "Function Key 9"
"\e[21~": "Function Key 10"
$else
# Eh, normal Console is not really cygwin anymore, is it? Using 'else' instead. -mstormo
# $if term=cygwin # Console
"\e[1~": beginning-of-line # Home Key
"\e[4~": end-of-line # End Key
"\e[3~": delete-char # Delete Key
"\e\e[C": forward-word # Alt-Right
"\e\e[D": backward-word # Alt-Left
"\e[1;5C": forward-word # ctrl + right
"\e[1;5D": backward-word # ctrl + left
"\e[17~": "Function Key 6"
"\e[18~": "Function Key 7"
"\e[19~": "Function Key 8"
"\e[20~": "Function Key 9"
"\e[21~": "Function Key 10"
"\e[23~": "Function Key 11"
$endif
$endif

Binary file not shown.

View file

@ -8,10 +8,9 @@
# #
#-- The download utilities that makepkg should use to acquire sources #-- The download utilities that makepkg should use to acquire sources
# Format: 'protocol::agent' # Format: 'protocol::agent'
DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u' DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
'ftp::/usr/bin/curl -gqfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' 'http::/usr/bin/curl -qb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'http::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' 'https::/usr/bin/curl -qb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'https::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'rsync::/usr/bin/rsync --no-motd -z %u %o' 'rsync::/usr/bin/rsync --no-motd -z %u %o'
'scp::/usr/bin/scp -C %u %o') 'scp::/usr/bin/scp -C %u %o')
@ -23,11 +22,19 @@ DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u'
#-- The package required by makepkg to download VCS sources #-- The package required by makepkg to download VCS sources
# Format: 'protocol::package' # Format: 'protocol::package'
VCSCLIENTS=('bzr::bzr' VCSCLIENTS=('bzr::bzr'
'fossil::fossil'
'git::git' 'git::git'
'hg::mercurial' 'hg::mercurial'
'svn::subversion') 'svn::subversion')
#-- Using git am to apply patches has benefits, but also downsides
# one being that people without their .gitconfig set get prompts
# and the other being that the sha1s vary each time, so fix them
GIT_COMMITTER_NAME="makepkg"
GIT_COMMITTER_EMAIL="makepkg@msys2.org"
function gitam_mkpkg() {
git am --committer-date-is-author-date "$@"
}
######################################################################### #########################################################################
# ARCHITECTURE, COMPILE FLAGS # ARCHITECTURE, COMPILE FLAGS
######################################################################### #########################################################################
@ -38,11 +45,9 @@ CHOST="x86_64-pc-msys"
#-- Compiler and Linker Flags #-- Compiler and Linker Flags
# -march (or -mcpu) builds exclusively for an architecture # -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family # -mtune optimizes for an architecture, but builds for whole processor family
CC=gcc
CXX=g++
CPPFLAGS= CPPFLAGS=
CFLAGS="-march=nocona -msahf -mtune=generic -O2 -pipe" CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"
CXXFLAGS="-march=nocona -msahf -mtune=generic -O2 -pipe" CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"
LDFLAGS="-pipe" LDFLAGS="-pipe"
#-- Make Flags: change this for DistCC/SMP systems #-- Make Flags: change this for DistCC/SMP systems
MAKEFLAGS="-j$(($(nproc)+1))" MAKEFLAGS="-j$(($(nproc)+1))"
@ -54,7 +59,7 @@ DEBUG_CXXFLAGS="-ggdb -Og"
# BUILD ENVIRONMENT # BUILD ENVIRONMENT
######################################################################### #########################################################################
# #
# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign) # Defaults: BUILDENV=(fakeroot !distcc color !ccache check !sign)
# A negated environment option will do the opposite of the comments below. # A negated environment option will do the opposite of the comments below.
# #
#-- distcc: Use the Distributed C/C++/ObjC compiler #-- distcc: Use the Distributed C/C++/ObjC compiler
@ -77,7 +82,7 @@ BUILDENV=(!distcc color !ccache check !sign)
# These are default values for the options=() settings # These are default values for the options=() settings
######################################################################### #########################################################################
# #
# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto) # Default: OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug)
# A negated option will do the opposite of the comments below. # A negated option will do the opposite of the comments below.
# #
#-- strip: Strip symbols from binaries/libraries #-- strip: Strip symbols from binaries/libraries
@ -88,12 +93,11 @@ BUILDENV=(!distcc color !ccache check !sign)
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip #-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge: Remove files specified by PURGE_TARGETS #-- purge: Remove files specified by PURGE_TARGETS
#-- debug: Add debugging flags as specified in DEBUG_* variables #-- debug: Add debugging flags as specified in DEBUG_* variables
#-- lto: Add compile flags for building with link time optimization
# #
OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug !lto) OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512 #-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(sha256) INTEGRITY_CHECK=(md5)
#-- Options to be used when stripping binaries. See `man strip' for details. #-- Options to be used when stripping binaries. See `man strip' for details.
STRIP_BINARIES="--strip-all" STRIP_BINARIES="--strip-all"
#-- Options to be used when stripping shared libraries. See `man strip' for details. #-- Options to be used when stripping shared libraries. See `man strip' for details.
@ -144,12 +148,10 @@ COMPRESSLZ=(lzip -c -f)
# EXTENSION DEFAULTS # EXTENSION DEFAULTS
######################################################################### #########################################################################
# #
PKGEXT='.pkg.tar.zst' # WARNING: Do NOT modify these variables unless you know what you are
SRCEXT='.src.tar.zst' # doing.
#########################################################################
# OTHER
#########################################################################
# #
#-- Command used to run pacman as root, instead of trying sudo and su PKGEXT='.pkg.tar.zst'
PACMAN_AUTH=() SRCEXT='.src.tar.gz'
# vim: set ft=sh ts=2 sw=2 et:

View file

@ -0,0 +1,173 @@
#
# /etc/makepkg.conf
#
#########################################################################
# SOURCE ACQUISITION
#########################################################################
#
#-- The download utilities that makepkg should use to acquire sources
# Format: 'protocol::agent'
DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
'http::/usr/bin/curl -qb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'https::/usr/bin/curl -qb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'rsync::/usr/bin/rsync --no-motd -z %u %o'
'scp::/usr/bin/scp -C %u %o')
# Other common tools:
# /usr/bin/snarf
# /usr/bin/lftpget -c
# /usr/bin/wget
#-- The package required by makepkg to download VCS sources
# Format: 'protocol::package'
VCSCLIENTS=('bzr::bzr'
'git::git'
'hg::mercurial'
'svn::subversion')
#-- Using git am to apply patches has benefits, but also downsides
# one being that people without their .gitconfig set get prompts
# and the other being that the sha1s vary each time, so fix them
GIT_COMMITTER_NAME="makepkg"
GIT_COMMITTER_EMAIL="makepkg@msys2.org"
function gitam_mkpkg() {
git am --committer-date-is-author-date "$@"
}
#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
#
CARCH="i686"
CHOST="i686-w64-mingw32"
#########################################################################
# Mingw toolchains stuff
#########################################################################
#
MINGW_CHOST="i686-w64-mingw32"
MINGW_PREFIX="/clang32"
MINGW_PACKAGE_PREFIX="clang-mingw-w64-i686"
# DirectX compatibility environment variable
DXSDK_DIR=${MINGW_PREFIX}/${MINGW_CHOST}
#-- Compiler and Linker Flags
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CPPFLAGS="-D__USE_MINGW_ANSI_STDIO=1"
CFLAGS="-march=i686 -mtune=generic -O2 -pipe"
CXXFLAGS="-march=i686 -mtune=generic -O2 -pipe"
LDFLAGS="-pipe"
# Uncomment to enable hardening (ASLR, DEP)
#LDFLAGS="-pipe -Wl,--dynamicbase,--nxcompat"
#-- Make Flags: change this for DistCC/SMP systems
MAKEFLAGS="-j$(($(nproc)+1))"
#-- Debugging flags
DEBUG_CFLAGS="-ggdb -Og"
DEBUG_CXXFLAGS="-ggdb -Og"
ACLOCAL_PATH="${MINGW_PREFIX}/share/aclocal:/usr/share/aclocal"
PKG_CONFIG_PATH="${MINGW_PREFIX}/lib/pkgconfig:${MINGW_PREFIX}/share/pkgconfig"
#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
# Defaults: BUILDENV=(fakeroot !distcc color !ccache check !sign)
# A negated environment option will do the opposite of the comments below.
#
#-- distcc: Use the Distributed C/C++/ObjC compiler
#-- color: Colorize output messages
#-- ccache: Use ccache to cache compilation
#-- check: Run the check() function if present in the PKGBUILD
#-- sign: Generate PGP signature file
#
BUILDENV=(!distcc color !ccache check !sign)
#
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
#-- specify a space-delimited list of hosts running in the DistCC cluster.
#DISTCC_HOSTS=""
#
#-- Specify a directory for package building.
#BUILDDIR=/tmp/makepkg
#########################################################################
# GLOBAL PACKAGE OPTIONS
# These are default values for the options=() settings
#########################################################################
#
# Default: OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug)
# A negated option will do the opposite of the comments below.
#
#-- strip: Strip symbols from binaries/libraries
#-- docs: Save doc directories specified by DOC_DIRS
#-- libtool: Leave libtool (.la) files in packages
#-- staticlibs: Leave static library (.a) files in packages
#-- emptydirs: Leave empty directories in packages
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge: Remove files specified by PURGE_TARGETS
#-- debug: Add debugging flags as specified in DEBUG_* variables
#
OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
#-- Options to be used when stripping binaries. See `man strip' for details.
STRIP_BINARIES="--strip-all"
#-- Options to be used when stripping shared libraries. See `man strip' for details.
STRIP_SHARED="--strip-unneeded"
#-- Options to be used when stripping static libraries. See `man strip' for details.
STRIP_STATIC="--strip-debug"
#-- Manual (man and info) directories to compress (if zipman is specified)
MAN_DIRS=(clang32{{,/local}{,/share},/opt/*}/{man,info})
#-- Doc directories to remove (if !docs is specified)
DOC_DIRS=(clang32/{,local/}{,share/}{doc,gtk-doc})
#-- Files to be removed from all packages (if purge is specified)
PURGE_TARGETS=(clang32/{,share}/info/dir .packlist *.pod)
#########################################################################
# PACKAGE OUTPUT
#########################################################################
#
# Default: put built package and cached source in build directory
#
#-- Destination: specify a fixed directory where all packages will be placed
#PKGDEST=/var/packages-clang32
#-- Source cache: specify a fixed directory where source files will be cached
#SRCDEST=/var/sources
#-- Source packages: specify a fixed directory where all src packages will be placed
#SRCPKGDEST=/var/srcpackages-clang32
#-- Log files: specify a fixed directory where all log files will be placed
#LOGDEST=/var/makepkglogs
#-- Packager: name/email of the person or organization building packages
#PACKAGER="John Doe <john@doe.com>"
#-- Specify a key to use for package signing
#GPGKEY=""
#########################################################################
# COMPRESSION DEFAULTS
#########################################################################
#
COMPRESSGZ=(gzip -c -f -n)
COMPRESSBZ2=(bzip2 -c -f)
COMPRESSXZ=(xz -c -z -T0 -)
COMPRESSZST=(zstd -c -T0 --ultra -20 -)
COMPRESSLRZ=(lrzip -q)
COMPRESSLZO=(lzop -q)
COMPRESSZ=(compress -c -f)
COMPRESSLZ4=(lz4 -q)
COMPRESSLZ=(lzip -c -f)
#########################################################################
# EXTENSION DEFAULTS
#########################################################################
#
# WARNING: Do NOT modify these variables unless you know what you are
# doing.
#
PKGEXT='.pkg.tar.zst'
SRCEXT='.src.tar.gz'
# vim: set ft=sh ts=2 sw=2 et:

View file

@ -0,0 +1,173 @@
#
# /etc/makepkg_mingw64.conf
#
#########################################################################
# SOURCE ACQUISITION
#########################################################################
#
#-- The download utilities that makepkg should use to acquire sources
# Format: 'protocol::agent'
DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
'http::/usr/bin/curl -qb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'https::/usr/bin/curl -qb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'rsync::/usr/bin/rsync --no-motd -z %u %o'
'scp::/usr/bin/scp -C %u %o')
# Other common tools:
# /usr/bin/snarf
# /usr/bin/lftpget -c
# /usr/bin/wget
#-- The package required by makepkg to download VCS sources
# Format: 'protocol::package'
VCSCLIENTS=('bzr::bzr'
'git::git'
'hg::mercurial'
'svn::subversion')
#-- Using git am to apply patches has benefits, but also downsides
# one being that people without their .gitconfig set get prompts
# and the other being that the sha1s vary each time, so fix them
GIT_COMMITTER_NAME="makepkg"
GIT_COMMITTER_EMAIL="makepkg@msys2.org"
function gitam_mkpkg() {
git am --committer-date-is-author-date "$@"
}
#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
#
CARCH="x86_64"
CHOST="x86_64-w64-mingw32"
#########################################################################
# Mingw toolchains stuff
#########################################################################
#
MINGW_CHOST="x86_64-w64-mingw32"
MINGW_PREFIX="/clang64"
MINGW_PACKAGE_PREFIX="clang-mingw-w64-x86_64"
# DirectX compatibility environment variable
DXSDK_DIR=${MINGW_PREFIX}/${MINGW_CHOST}
#-- Compiler and Linker Flags
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CPPFLAGS="-D__USE_MINGW_ANSI_STDIO=1"
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"
LDFLAGS="-pipe"
# Uncomment to enable hardening (ASLR, High entropy ASLR, DEP)
#LDFLAGS="-pipe -Wl,--dynamicbase,--high-entropy-va,--nxcompat"
#-- Make Flags: change this for DistCC/SMP systems
MAKEFLAGS="-j$(($(nproc)+1))"
#-- Debugging flags
DEBUG_CFLAGS="-ggdb -Og"
DEBUG_CXXFLAGS="-ggdb -Og"
ACLOCAL_PATH="${MINGW_PREFIX}/share/aclocal:/usr/share/aclocal"
PKG_CONFIG_PATH="${MINGW_PREFIX}/lib/pkgconfig:${MINGW_PREFIX}/share/pkgconfig"
#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
# Defaults: BUILDENV=(fakeroot !distcc color !ccache check !sign)
# A negated environment option will do the opposite of the comments below.
#
#-- distcc: Use the Distributed C/C++/ObjC compiler
#-- color: Colorize output messages
#-- ccache: Use ccache to cache compilation
#-- check: Run the check() function if present in the PKGBUILD
#-- sign: Generate PGP signature file
#
BUILDENV=(!distcc color !ccache check !sign)
#
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
#-- specify a space-delimited list of hosts running in the DistCC cluster.
#DISTCC_HOSTS=""
#
#-- Specify a directory for package building.
#BUILDDIR=/tmp/makepkg
#########################################################################
# GLOBAL PACKAGE OPTIONS
# These are default values for the options=() settings
#########################################################################
#
# Default: OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug)
# A negated option will do the opposite of the comments below.
#
#-- strip: Strip symbols from binaries/libraries
#-- docs: Save doc directories specified by DOC_DIRS
#-- libtool: Leave libtool (.la) files in packages
#-- staticlibs: Leave static library (.a) files in packages
#-- emptydirs: Leave empty directories in packages
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge: Remove files specified by PURGE_TARGETS
#-- debug: Add debugging flags as specified in DEBUG_* variables
#
OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
#-- Options to be used when stripping binaries. See `man strip' for details.
STRIP_BINARIES="--strip-all"
#-- Options to be used when stripping shared libraries. See `man strip' for details.
STRIP_SHARED="--strip-unneeded"
#-- Options to be used when stripping static libraries. See `man strip' for details.
STRIP_STATIC="--strip-debug"
#-- Manual (man and info) directories to compress (if zipman is specified)
MAN_DIRS=(clang64{{,/local}{,/share},/opt/*}/{man,info})
#-- Doc directories to remove (if !docs is specified)
DOC_DIRS=(clang64/{,local/}{,share/}{doc,gtk-doc})
#-- Files to be removed from all packages (if purge is specified)
PURGE_TARGETS=(clang64/{,share}/info/dir .packlist *.pod)
#########################################################################
# PACKAGE OUTPUT
#########################################################################
#
# Default: put built package and cached source in build directory
#
#-- Destination: specify a fixed directory where all packages will be placed
#PKGDEST=/var/packages-clang64
#-- Source cache: specify a fixed directory where source files will be cached
#SRCDEST=/var/sources
#-- Source packages: specify a fixed directory where all src packages will be placed
#SRCPKGDEST=/var/srcpackages-clang64
#-- Log files: specify a fixed directory where all log files will be placed
#LOGDEST=/var/makepkglogs
#-- Packager: name/email of the person or organization building packages
#PACKAGER="John Doe <john@doe.com>"
#-- Specify a key to use for package signing
#GPGKEY=""
#########################################################################
# COMPRESSION DEFAULTS
#########################################################################
#
COMPRESSGZ=(gzip -c -f -n)
COMPRESSBZ2=(bzip2 -c -f)
COMPRESSXZ=(xz -c -z -T0 -)
COMPRESSZST=(zstd -c -T0 --ultra -20 -)
COMPRESSLRZ=(lrzip -q)
COMPRESSLZO=(lzop -q)
COMPRESSZ=(compress -c -f)
COMPRESSLZ4=(lz4 -q)
COMPRESSLZ=(lzip -c -f)
#########################################################################
# EXTENSION DEFAULTS
#########################################################################
#
# WARNING: Do NOT modify these variables unless you know what you are
# doing.
#
PKGEXT='.pkg.tar.zst'
SRCEXT='.src.tar.gz'
# vim: set ft=sh ts=2 sw=2 et:

View file

@ -1,227 +0,0 @@
#
# /etc/makepkg_mingw.conf
#
#########################################################################
# SOURCE ACQUISITION
#########################################################################
#
#-- The download utilities that makepkg should use to acquire sources
# Format: 'protocol::agent'
DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u'
'ftp::/usr/bin/curl -gqfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
'http::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'https::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'rsync::/usr/bin/rsync --no-motd -z %u %o'
'scp::/usr/bin/scp -C %u %o')
# Other common tools:
# /usr/bin/snarf
# /usr/bin/lftpget -c
# /usr/bin/wget
#-- The package required by makepkg to download VCS sources
# Format: 'protocol::package'
VCSCLIENTS=('bzr::bzr'
'fossil::fossil'
'git::git'
'hg::mercurial'
'svn::subversion')
#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
#
if [[ "$MSYSTEM" == "MINGW64" ]]; then
CARCH="x86_64"
CHOST="x86_64-w64-mingw32"
MINGW_CHOST="x86_64-w64-mingw32"
MINGW_PREFIX="/mingw64"
MINGW_PACKAGE_PREFIX="mingw-w64-x86_64"
CC="gcc"
CXX="g++"
CPPFLAGS="-D__USE_MINGW_ANSI_STDIO=1"
CFLAGS="-march=nocona -msahf -mtune=generic -O2 -pipe -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong"
CXXFLAGS="-march=nocona -msahf -mtune=generic -O2 -pipe"
LDFLAGS="-pipe"
elif [[ "$MSYSTEM" == "MINGW32" ]]; then
CARCH="i686"
CHOST="i686-w64-mingw32"
MINGW_CHOST="i686-w64-mingw32"
MINGW_PREFIX="/mingw32"
MINGW_PACKAGE_PREFIX="mingw-w64-i686"
CC="gcc"
CXX="g++"
CPPFLAGS="-D__USE_MINGW_ANSI_STDIO=1"
CFLAGS="-march=pentium4 -mtune=generic -O2 -pipe -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong"
CXXFLAGS="-march=pentium4 -mtune=generic -O2 -pipe"
LDFLAGS="-pipe -Wl,--no-seh -Wl,--large-address-aware"
elif [[ "$MSYSTEM" == "CLANG64" ]]; then
CARCH="x86_64"
CHOST="x86_64-w64-mingw32"
MINGW_CHOST="x86_64-w64-mingw32"
MINGW_PREFIX="/clang64"
MINGW_PACKAGE_PREFIX="mingw-w64-clang-x86_64"
CC="clang"
CXX="clang++"
CPPFLAGS="-D__USE_MINGW_ANSI_STDIO=1"
CFLAGS="-march=nocona -msahf -mtune=generic -O2 -pipe -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong"
CXXFLAGS="-march=nocona -msahf -mtune=generic -O2 -pipe"
LDFLAGS="-pipe"
elif [[ "$MSYSTEM" == "CLANG32" ]]; then
CARCH="i686"
CHOST="i686-w64-mingw32"
MINGW_CHOST="i686-w64-mingw32"
MINGW_PREFIX="/clang32"
MINGW_PACKAGE_PREFIX="mingw-w64-clang-i686"
CC="clang"
CXX="clang++"
CPPFLAGS="-D__USE_MINGW_ANSI_STDIO=1"
CFLAGS="-march=pentium4 -mtune=generic -O2 -pipe -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong"
CXXFLAGS="-march=pentium4 -mtune=generic -O2 -pipe"
LDFLAGS="-pipe -Wl,--no-seh -Wl,--large-address-aware"
elif [[ "$MSYSTEM" == "CLANGARM64" ]]; then
CARCH="aarch64"
CHOST="aarch64-w64-mingw32"
MINGW_CHOST="aarch64-w64-mingw32"
MINGW_PREFIX="/clangarm64"
MINGW_PACKAGE_PREFIX="mingw-w64-clang-aarch64"
CC="clang"
CXX="clang++"
CPPFLAGS="-D__USE_MINGW_ANSI_STDIO=1"
CFLAGS="-O2 -pipe -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong"
CXXFLAGS="-O2 -pipe"
LDFLAGS="-pipe"
elif [[ "$MSYSTEM" == "UCRT64" ]]; then
CARCH="x86_64"
CHOST="x86_64-w64-mingw32"
MINGW_CHOST="x86_64-w64-mingw32"
MINGW_PREFIX="/ucrt64"
MINGW_PACKAGE_PREFIX="mingw-w64-ucrt-x86_64"
CC="gcc"
CXX="g++"
CPPFLAGS="-D__USE_MINGW_ANSI_STDIO=1"
CFLAGS="-march=nocona -msahf -mtune=generic -O2 -pipe -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong"
CXXFLAGS="-march=nocona -msahf -mtune=generic -O2 -pipe"
LDFLAGS="-pipe"
else
echo "Unsupported MSYSTEM: $MSYSTEM"
exit 1
fi
# DirectX compatibility environment variable
DXSDK_DIR=${MINGW_PREFIX}/${MINGW_CHOST}
#-- Make Flags: change this for DistCC/SMP systems
MAKEFLAGS="-j$(($(nproc)+1))"
#-- Debugging flags
DEBUG_CFLAGS="-ggdb -Og"
DEBUG_CXXFLAGS="-ggdb -Og"
ACLOCAL_PATH="${MINGW_PREFIX}/share/aclocal:/usr/share/aclocal"
PKG_CONFIG_PATH="${MINGW_PREFIX}/lib/pkgconfig:${MINGW_PREFIX}/share/pkgconfig"
#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign)
# A negated environment option will do the opposite of the comments below.
#
#-- distcc: Use the Distributed C/C++/ObjC compiler
#-- color: Colorize output messages
#-- ccache: Use ccache to cache compilation
#-- check: Run the check() function if present in the PKGBUILD
#-- sign: Generate PGP signature file
#
BUILDENV=(!distcc color !ccache check !sign)
#
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
#-- specify a space-delimited list of hosts running in the DistCC cluster.
#DISTCC_HOSTS=""
#
#-- Specify a directory for package building.
#BUILDDIR=/tmp/makepkg
#########################################################################
# GLOBAL PACKAGE OPTIONS
# These are default values for the options=() settings
#########################################################################
#
# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto)
# A negated option will do the opposite of the comments below.
#
#-- strip: Strip symbols from binaries/libraries
#-- docs: Save doc directories specified by DOC_DIRS
#-- libtool: Leave libtool (.la) files in packages
#-- staticlibs: Leave static library (.a) files in packages
#-- emptydirs: Leave empty directories in packages
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge: Remove files specified by PURGE_TARGETS
#-- debug: Add debugging flags as specified in DEBUG_* variables
#-- lto: Add compile flags for building with link time optimization
#
OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug !lto)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(sha256)
#-- Options to be used when stripping binaries. See `man strip' for details.
STRIP_BINARIES="--strip-all"
#-- Options to be used when stripping shared libraries. See `man strip' for details.
STRIP_SHARED="--strip-unneeded"
#-- Options to be used when stripping static libraries. See `man strip' for details.
STRIP_STATIC="--strip-debug"
#-- Manual (man and info) directories to compress (if zipman is specified)
MAN_DIRS=("${MINGW_PREFIX#/}"{{,/local}{,/share},/opt/*}/{man,info})
#-- Doc directories to remove (if !docs is specified)
DOC_DIRS=("${MINGW_PREFIX#/}"/{,local/}{,share/}{doc,gtk-doc})
#-- Files to be removed from all packages (if purge is specified)
PURGE_TARGETS=("${MINGW_PREFIX#/}"/{,share}/info/dir .packlist *.pod)
#########################################################################
# PACKAGE OUTPUT
#########################################################################
#
# Default: put built package and cached source in build directory
#
#-- Destination: specify a fixed directory where all packages will be placed
#PKGDEST=/var/packages-mingw64
#-- Source cache: specify a fixed directory where source files will be cached
#SRCDEST=/var/sources
#-- Source packages: specify a fixed directory where all src packages will be placed
#SRCPKGDEST=/var/srcpackages-mingw64
#-- Log files: specify a fixed directory where all log files will be placed
#LOGDEST=/var/makepkglogs
#-- Packager: name/email of the person or organization building packages
#PACKAGER="John Doe <john@doe.com>"
#-- Specify a key to use for package signing
#GPGKEY=""
#########################################################################
# COMPRESSION DEFAULTS
#########################################################################
#
COMPRESSGZ=(gzip -c -f -n)
COMPRESSBZ2=(bzip2 -c -f)
COMPRESSXZ=(xz -c -z -T0 -)
COMPRESSZST=(zstd -c -T0 --ultra -20 -)
COMPRESSLRZ=(lrzip -q)
COMPRESSLZO=(lzop -q)
COMPRESSZ=(compress -c -f)
COMPRESSLZ4=(lz4 -q)
COMPRESSLZ=(lzip -c -f)
#########################################################################
# EXTENSION DEFAULTS
#########################################################################
#
PKGEXT='.pkg.tar.zst'
SRCEXT='.src.tar.zst'
#########################################################################
# OTHER
#########################################################################
#
#-- Command used to run pacman as root, instead of trying sudo and su
PACMAN_AUTH=()

View file

@ -0,0 +1,173 @@
#
# /etc/makepkg.conf
#
#########################################################################
# SOURCE ACQUISITION
#########################################################################
#
#-- The download utilities that makepkg should use to acquire sources
# Format: 'protocol::agent'
DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
'http::/usr/bin/curl -qb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'https::/usr/bin/curl -qb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'rsync::/usr/bin/rsync --no-motd -z %u %o'
'scp::/usr/bin/scp -C %u %o')
# Other common tools:
# /usr/bin/snarf
# /usr/bin/lftpget -c
# /usr/bin/wget
#-- The package required by makepkg to download VCS sources
# Format: 'protocol::package'
VCSCLIENTS=('bzr::bzr'
'git::git'
'hg::mercurial'
'svn::subversion')
#-- Using git am to apply patches has benefits, but also downsides
# one being that people without their .gitconfig set get prompts
# and the other being that the sha1s vary each time, so fix them
GIT_COMMITTER_NAME="makepkg"
GIT_COMMITTER_EMAIL="makepkg@msys2.org"
function gitam_mkpkg() {
git am --committer-date-is-author-date "$@"
}
#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
#
CARCH="i686"
CHOST="i686-w64-mingw32"
#########################################################################
# Mingw toolchains stuff
#########################################################################
#
MINGW_CHOST="i686-w64-mingw32"
MINGW_PREFIX="/mingw32"
MINGW_PACKAGE_PREFIX="mingw-w64-i686"
# DirectX compatibility environment variable
DXSDK_DIR=${MINGW_PREFIX}/${MINGW_CHOST}
#-- Compiler and Linker Flags
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CPPFLAGS="-D__USE_MINGW_ANSI_STDIO=1"
CFLAGS="-march=i686 -mtune=generic -O2 -pipe"
CXXFLAGS="-march=i686 -mtune=generic -O2 -pipe"
LDFLAGS="-pipe -Wl,--dynamicbase,--nxcompat,--no-seh"
# Uncomment to disable hardening (ASLR, DEP)
#LDFLAGS="-pipe"
#-- Make Flags: change this for DistCC/SMP systems
MAKEFLAGS="-j$(($(nproc)+1))"
#-- Debugging flags
DEBUG_CFLAGS="-ggdb -Og"
DEBUG_CXXFLAGS="-ggdb -Og"
ACLOCAL_PATH="${MINGW_PREFIX}/share/aclocal:/usr/share/aclocal"
PKG_CONFIG_PATH="${MINGW_PREFIX}/lib/pkgconfig:${MINGW_PREFIX}/share/pkgconfig"
#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
# Defaults: BUILDENV=(fakeroot !distcc color !ccache check !sign)
# A negated environment option will do the opposite of the comments below.
#
#-- distcc: Use the Distributed C/C++/ObjC compiler
#-- color: Colorize output messages
#-- ccache: Use ccache to cache compilation
#-- check: Run the check() function if present in the PKGBUILD
#-- sign: Generate PGP signature file
#
BUILDENV=(!distcc color !ccache check !sign)
#
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
#-- specify a space-delimited list of hosts running in the DistCC cluster.
#DISTCC_HOSTS=""
#
#-- Specify a directory for package building.
#BUILDDIR=/tmp/makepkg
#########################################################################
# GLOBAL PACKAGE OPTIONS
# These are default values for the options=() settings
#########################################################################
#
# Default: OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug)
# A negated option will do the opposite of the comments below.
#
#-- strip: Strip symbols from binaries/libraries
#-- docs: Save doc directories specified by DOC_DIRS
#-- libtool: Leave libtool (.la) files in packages
#-- staticlibs: Leave static library (.a) files in packages
#-- emptydirs: Leave empty directories in packages
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge: Remove files specified by PURGE_TARGETS
#-- debug: Add debugging flags as specified in DEBUG_* variables
#
OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
#-- Options to be used when stripping binaries. See `man strip' for details.
STRIP_BINARIES="--strip-all"
#-- Options to be used when stripping shared libraries. See `man strip' for details.
STRIP_SHARED="--strip-unneeded"
#-- Options to be used when stripping static libraries. See `man strip' for details.
STRIP_STATIC="--strip-debug"
#-- Manual (man and info) directories to compress (if zipman is specified)
MAN_DIRS=(mingw32{{,/local}{,/share},/opt/*}/{man,info})
#-- Doc directories to remove (if !docs is specified)
DOC_DIRS=(mingw32/{,local/}{,share/}{doc,gtk-doc})
#-- Files to be removed from all packages (if purge is specified)
PURGE_TARGETS=(mingw32/{,share}/info/dir .packlist *.pod)
#########################################################################
# PACKAGE OUTPUT
#########################################################################
#
# Default: put built package and cached source in build directory
#
#-- Destination: specify a fixed directory where all packages will be placed
#PKGDEST=/var/packages-mingw32
#-- Source cache: specify a fixed directory where source files will be cached
#SRCDEST=/var/sources
#-- Source packages: specify a fixed directory where all src packages will be placed
#SRCPKGDEST=/var/srcpackages-mingw32
#-- Log files: specify a fixed directory where all log files will be placed
#LOGDEST=/var/makepkglogs
#-- Packager: name/email of the person or organization building packages
#PACKAGER="John Doe <john@doe.com>"
#-- Specify a key to use for package signing
#GPGKEY=""
#########################################################################
# COMPRESSION DEFAULTS
#########################################################################
#
COMPRESSGZ=(gzip -c -f -n)
COMPRESSBZ2=(bzip2 -c -f)
COMPRESSXZ=(xz -c -z -T0 -)
COMPRESSZST=(zstd -c -T0 --ultra -20 -)
COMPRESSLRZ=(lrzip -q)
COMPRESSLZO=(lzop -q)
COMPRESSZ=(compress -c -f)
COMPRESSLZ4=(lz4 -q)
COMPRESSLZ=(lzip -c -f)
#########################################################################
# EXTENSION DEFAULTS
#########################################################################
#
# WARNING: Do NOT modify these variables unless you know what you are
# doing.
#
PKGEXT='.pkg.tar.zst'
SRCEXT='.src.tar.gz'
# vim: set ft=sh ts=2 sw=2 et:

View file

@ -0,0 +1,173 @@
#
# /etc/makepkg_mingw64.conf
#
#########################################################################
# SOURCE ACQUISITION
#########################################################################
#
#-- The download utilities that makepkg should use to acquire sources
# Format: 'protocol::agent'
DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
'http::/usr/bin/curl -qb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'https::/usr/bin/curl -qb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'rsync::/usr/bin/rsync --no-motd -z %u %o'
'scp::/usr/bin/scp -C %u %o')
# Other common tools:
# /usr/bin/snarf
# /usr/bin/lftpget -c
# /usr/bin/wget
#-- The package required by makepkg to download VCS sources
# Format: 'protocol::package'
VCSCLIENTS=('bzr::bzr'
'git::git'
'hg::mercurial'
'svn::subversion')
#-- Using git am to apply patches has benefits, but also downsides
# one being that people without their .gitconfig set get prompts
# and the other being that the sha1s vary each time, so fix them
GIT_COMMITTER_NAME="makepkg"
GIT_COMMITTER_EMAIL="makepkg@msys2.org"
function gitam_mkpkg() {
git am --committer-date-is-author-date "$@"
}
#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
#
CARCH="x86_64"
CHOST="x86_64-w64-mingw32"
#########################################################################
# Mingw toolchains stuff
#########################################################################
#
MINGW_CHOST="x86_64-w64-mingw32"
MINGW_PREFIX="/mingw64"
MINGW_PACKAGE_PREFIX="mingw-w64-x86_64"
# DirectX compatibility environment variable
DXSDK_DIR=${MINGW_PREFIX}/${MINGW_CHOST}
#-- Compiler and Linker Flags
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CPPFLAGS="-D__USE_MINGW_ANSI_STDIO=1"
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"
LDFLAGS="-pipe -Wl,--dynamicbase,--high-entropy-va,--nxcompat"
# Uncomment to disable hardening (ASLR, High entropy ASLR, DEP)
#LDFLAGS="-pipe"
#-- Make Flags: change this for DistCC/SMP systems
MAKEFLAGS="-j$(($(nproc)+1))"
#-- Debugging flags
DEBUG_CFLAGS="-ggdb -Og"
DEBUG_CXXFLAGS="-ggdb -Og"
ACLOCAL_PATH="${MINGW_PREFIX}/share/aclocal:/usr/share/aclocal"
PKG_CONFIG_PATH="${MINGW_PREFIX}/lib/pkgconfig:${MINGW_PREFIX}/share/pkgconfig"
#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
# Defaults: BUILDENV=(fakeroot !distcc color !ccache check !sign)
# A negated environment option will do the opposite of the comments below.
#
#-- distcc: Use the Distributed C/C++/ObjC compiler
#-- color: Colorize output messages
#-- ccache: Use ccache to cache compilation
#-- check: Run the check() function if present in the PKGBUILD
#-- sign: Generate PGP signature file
#
BUILDENV=(!distcc color !ccache check !sign)
#
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
#-- specify a space-delimited list of hosts running in the DistCC cluster.
#DISTCC_HOSTS=""
#
#-- Specify a directory for package building.
#BUILDDIR=/tmp/makepkg
#########################################################################
# GLOBAL PACKAGE OPTIONS
# These are default values for the options=() settings
#########################################################################
#
# Default: OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug)
# A negated option will do the opposite of the comments below.
#
#-- strip: Strip symbols from binaries/libraries
#-- docs: Save doc directories specified by DOC_DIRS
#-- libtool: Leave libtool (.la) files in packages
#-- staticlibs: Leave static library (.a) files in packages
#-- emptydirs: Leave empty directories in packages
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge: Remove files specified by PURGE_TARGETS
#-- debug: Add debugging flags as specified in DEBUG_* variables
#
OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
#-- Options to be used when stripping binaries. See `man strip' for details.
STRIP_BINARIES="--strip-all"
#-- Options to be used when stripping shared libraries. See `man strip' for details.
STRIP_SHARED="--strip-unneeded"
#-- Options to be used when stripping static libraries. See `man strip' for details.
STRIP_STATIC="--strip-debug"
#-- Manual (man and info) directories to compress (if zipman is specified)
MAN_DIRS=(mingw64{{,/local}{,/share},/opt/*}/{man,info})
#-- Doc directories to remove (if !docs is specified)
DOC_DIRS=(mingw64/{,local/}{,share/}{doc,gtk-doc})
#-- Files to be removed from all packages (if purge is specified)
PURGE_TARGETS=(mingw64/{,share}/info/dir .packlist *.pod)
#########################################################################
# PACKAGE OUTPUT
#########################################################################
#
# Default: put built package and cached source in build directory
#
#-- Destination: specify a fixed directory where all packages will be placed
#PKGDEST=/var/packages-mingw64
#-- Source cache: specify a fixed directory where source files will be cached
#SRCDEST=/var/sources
#-- Source packages: specify a fixed directory where all src packages will be placed
#SRCPKGDEST=/var/srcpackages-mingw64
#-- Log files: specify a fixed directory where all log files will be placed
#LOGDEST=/var/makepkglogs
#-- Packager: name/email of the person or organization building packages
#PACKAGER="John Doe <john@doe.com>"
#-- Specify a key to use for package signing
#GPGKEY=""
#########################################################################
# COMPRESSION DEFAULTS
#########################################################################
#
COMPRESSGZ=(gzip -c -f -n)
COMPRESSBZ2=(bzip2 -c -f)
COMPRESSXZ=(xz -c -z -T0 -)
COMPRESSZST=(zstd -c -T0 --ultra -20 -)
COMPRESSLRZ=(lrzip -q)
COMPRESSLZO=(lzop -q)
COMPRESSZ=(compress -c -f)
COMPRESSLZ4=(lz4 -q)
COMPRESSLZ=(lzip -c -f)
#########################################################################
# EXTENSION DEFAULTS
#########################################################################
#
# WARNING: Do NOT modify these variables unless you know what you are
# doing.
#
PKGEXT='.pkg.tar.zst'
SRCEXT='.src.tar.gz'
# vim: set ft=sh ts=2 sw=2 et:

View file

@ -20,6 +20,8 @@ unset MINGW_CHOST
unset MINGW_PREFIX unset MINGW_PREFIX
unset MINGW_PACKAGE_PREFIX unset MINGW_PACKAGE_PREFIX
unset CONFIG_SITE
case "${MSYSTEM}" in case "${MSYSTEM}" in
MINGW32) MINGW32)
MSYSTEM_PREFIX='/mingw32' MSYSTEM_PREFIX='/mingw32'
@ -28,7 +30,8 @@ case "${MSYSTEM}" in
MINGW_CHOST="${MSYSTEM_CHOST}" MINGW_CHOST="${MSYSTEM_CHOST}"
MINGW_PREFIX="${MSYSTEM_PREFIX}" MINGW_PREFIX="${MSYSTEM_PREFIX}"
MINGW_PACKAGE_PREFIX="mingw-w64-${MSYSTEM_CARCH}" MINGW_PACKAGE_PREFIX="mingw-w64-${MSYSTEM_CARCH}"
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX CONFIG_SITE="${MSYSTEM_PREFIX}/etc/config.site"
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX CONFIG_SITE
;; ;;
MINGW64) MINGW64)
MSYSTEM_PREFIX='/mingw64' MSYSTEM_PREFIX='/mingw64'
@ -37,48 +40,14 @@ case "${MSYSTEM}" in
MINGW_CHOST="${MSYSTEM_CHOST}" MINGW_CHOST="${MSYSTEM_CHOST}"
MINGW_PREFIX="${MSYSTEM_PREFIX}" MINGW_PREFIX="${MSYSTEM_PREFIX}"
MINGW_PACKAGE_PREFIX="mingw-w64-${MSYSTEM_CARCH}" MINGW_PACKAGE_PREFIX="mingw-w64-${MSYSTEM_CARCH}"
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX CONFIG_SITE="${MSYSTEM_PREFIX}/etc/config.site"
;; export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX CONFIG_SITE
CLANG32)
MSYSTEM_PREFIX='/clang32'
MSYSTEM_CARCH='i686'
MSYSTEM_CHOST='i686-w64-mingw32'
MINGW_CHOST="${MSYSTEM_CHOST}"
MINGW_PREFIX="${MSYSTEM_PREFIX}"
MINGW_PACKAGE_PREFIX="mingw-w64-clang-${MSYSTEM_CARCH}"
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX
;;
CLANG64)
MSYSTEM_PREFIX='/clang64'
MSYSTEM_CARCH='x86_64'
MSYSTEM_CHOST='x86_64-w64-mingw32'
MINGW_CHOST="${MSYSTEM_CHOST}"
MINGW_PREFIX="${MSYSTEM_PREFIX}"
MINGW_PACKAGE_PREFIX="mingw-w64-clang-${MSYSTEM_CARCH}"
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX
;;
CLANGARM64)
MSYSTEM_PREFIX='/clangarm64'
MSYSTEM_CARCH='aarch64'
MSYSTEM_CHOST='aarch64-w64-mingw32'
MINGW_CHOST="${MSYSTEM_CHOST}"
MINGW_PREFIX="${MSYSTEM_PREFIX}"
MINGW_PACKAGE_PREFIX="mingw-w64-clang-${MSYSTEM_CARCH}"
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX
;;
UCRT64)
MSYSTEM_PREFIX='/ucrt64'
MSYSTEM_CARCH='x86_64'
MSYSTEM_CHOST='x86_64-w64-mingw32'
MINGW_CHOST="${MSYSTEM_CHOST}"
MINGW_PREFIX="${MSYSTEM_PREFIX}"
MINGW_PACKAGE_PREFIX="mingw-w64-ucrt-${MSYSTEM_CARCH}"
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX
;; ;;
*) *)
MSYSTEM_PREFIX='/usr' MSYSTEM_PREFIX='/usr'
MSYSTEM_CARCH="$(/usr/bin/uname -m)" MSYSTEM_CARCH="$(/usr/bin/uname -m)"
MSYSTEM_CHOST="${MSYSTEM_CARCH}-pc-msys" MSYSTEM_CHOST="$(/usr/bin/uname -m)-pc-msys"
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST CONFIG_SITE="/etc/config.site"
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST CONFIG_SITE
;; ;;
esac esac

View file

@ -1,331 +0,0 @@
## Sample initialization file for GNU nano.
##
## For the options that take parameters, the default value is shown.
## Other options are unset by default. To make sure that an option
## is disabled, you can use "unset <option>".
##
## Characters that are special in a shell should not be escaped here.
## Inside string parameters, quotes should not be escaped -- the last
## double quote on the line will be seen as the closing quote.
## Make 'nextword' (Ctrl+Right) and 'chopwordright' (Ctrl+Delete)
## stop at word ends instead of at beginnings.
# set afterends
## When soft line wrapping is enabled, make it wrap lines at blanks
## (tabs and spaces) instead of always at the edge of the screen.
# set atblanks
## Automatically indent a newly created line to the same number of
## tabs and/or spaces as the preceding line -- or as the next line
## if the preceding line is the beginning of a paragraph.
# set autoindent
## Back up files to the current filename plus a tilde.
# set backup
## The directory to put unique backup files in.
# set backupdir ""
## Use bold text instead of reverse video text.
# set boldtext
## Treat any line with leading whitespace as the beginning of a paragraph.
# set bookstyle
## The characters treated as closing brackets when justifying paragraphs.
## This may not include any blank characters. Only closing punctuation,
## optionally followed by these closing brackets, can end sentences.
# set brackets ""')>]}"
## Automatically hard-wrap the current line when it becomes overlong.
# set breaklonglines
## Do case-sensitive searches by default.
# set casesensitive
## Constantly display the cursor position in the status bar or minibar.
# set constantshow
## Use cut-from-cursor-to-end-of-line by default.
# set cutfromcursor
## Do not use the line below the title bar, leaving it entirely blank.
# set emptyline
## Set the target width for automatic hard-wrapping and for justifying
## paragraphs. If the specified value is 0 or less, the wrapping point
## will be the terminal's width minus this number.
# set fill -8
## Draw a vertical stripe at the given column, to help judge text width.
## (This option does not have a default value.)
# set guidestripe 75
## Remember the used search/replace strings for the next session.
# set historylog
## Display a "scrollbar" on the righthand side of the edit window.
# set indicator
## Scroll the buffer contents per half-screen instead of per line.
# set jumpyscrolling
## Display line numbers to the left (and any anchors in the margin).
# set linenumbers
## Enable vim-style lock-files. This is just to let a vim user know you
## are editing a file [s]he is trying to edit and vice versa. There are
## no plans to implement vim-style undo state in these files.
# set locking
## Fall back to slow libmagic to try and determine an applicable syntax.
# set magic
## The opening and closing brackets that are found by a matching-bracket
## search. This may not contain blank characters. The opening brackets
## must come before the closing ones, and they must be in the same order.
# set matchbrackets "(<[{)>]}"
## Suppress the title bar and show the filename plus a cursor-position
## percentage in the space of the status bar.
# set minibar
## Enable mouse support, if available for your system. When enabled,
## mouse clicks can be used to place the cursor, set the mark (with a
## double click), and execute shortcuts. The mouse will work in the
## X Window System, and on the console when gpm is running.
# set mouse
## Switch on multiple file buffers (inserting a file will put it into
## a separate buffer).
# set multibuffer
## Don't convert files from DOS/Mac format.
# set noconvert
## Don't display the helpful shortcut lists at the bottom of the screen.
# set nohelp
## Don't automatically add a newline when a file does not end with one.
# set nonewlines
## Set operating directory. nano will not read or write files outside
## this directory and its subdirectories. Also, the current directory
## is changed to here, so any files are inserted from this dir. A blank
## string means the operating-directory feature is turned off.
# set operatingdir ""
## Remember the cursor position in each file for the next editing session.
# set positionlog
## Preserve the XON and XOFF keys (^Q and ^S).
# set preserve
## The characters treated as closing punctuation when justifying paragraphs.
## This may not contain blank characters. Only these closing punctuations,
## optionally followed by closing brackets, can end sentences.
# set punct "!.?"
## Make status-bar messages disappear after 1 keystroke instead of after 20.
# set quickblank
## The regular expression that matches quoting characters in email
## or line-comment introducers in source code. The default is:
# set quotestr "^([ ]*([!#%:;>|}]|//))+"
## Try to work around a mismatching terminfo terminal description.
# set rawsequences
## Fix Backspace/Delete confusion problem.
# set rebinddelete
## Do regular-expression searches by default.
## Regular expressions are of the extended type (ERE).
# set regexp
## Save a changed buffer automatically on exit; don't prompt.
# set saveonexit
## Put the cursor on the highlighted item in the file browser, and
## show the cursor in the help viewer; useful for people who use a
## braille display and people with poor vision.
# set showcursor
## Make the Home key smarter: when Home is pressed anywhere but at the
## very beginning of non-whitespace characters on a line, the cursor
## will jump to that beginning (either forwards or backwards). If the
## cursor is already at that position, it will jump to the true start
## of the line (the left edge).
# set smarthome
## Spread overlong lines over multiple screen lines.
# set softwrap
## Use this spelling checker instead of the internal one. This option
## does not have a default value.
# set speller "aspell -x -c"
## Use the end of the title bar for some state flags: I = auto-indenting,
## M = mark, L = hard-wrapping long lines, R = recording, S = soft-wrapping.
# set stateflags
## Use this tab size instead of the default; it must be greater than 0.
# set tabsize 8
## Convert each typed tab to the fitting number of spaces.
# set tabstospaces
## Snip whitespace at the end of lines when justifying or hard-wrapping.
# set trimblanks
## Save files by default in Unix format (also when they were DOS or Mac).
# set unix
## The two single-column characters used to display the first characters
## of tabs and spaces. 187 in ISO 8859-1 (0000BB in Unicode) and 183 in
## ISO-8859-1 (0000B7 in Unicode) seem to be good values for these.
## The default when in a UTF-8 locale:
# set whitespace "»·"
## The default otherwise:
# set whitespace ">."
## Detect word boundaries differently by treating punctuation
## characters as parts of words.
# set wordbounds
## The characters (besides alphanumeric ones) that should be considered
## as parts of words. This option does not have a default value. When
## set, it overrides option 'set wordbounds'.
# set wordchars "<_>."
## Let an unmodified Backspace or Delete erase the marked region (instead
## of a single character, and without affecting the cutbuffer).
# set zap
## Hide the bars plus help lines and use the whole terminal as edit area.
# set zero
## Paint the interface elements of nano. These are examples; there are
## no colors by default, except for errorcolor and spotlightcolor.
# set titlecolor bold,white,blue
# set promptcolor lightwhite,grey
# set statuscolor bold,white,green
# set errorcolor bold,white,red
# set spotlightcolor black,lightyellow
# set selectedcolor lightwhite,magenta
# set stripecolor ,yellow
# set scrollercolor cyan
# set numbercolor cyan
# set keycolor cyan
# set functioncolor green
## In root's .nanorc you might want to use:
# set titlecolor bold,white,magenta
# set promptcolor black,yellow
# set statuscolor bold,white,magenta
# set errorcolor bold,white,red
# set spotlightcolor black,orange
# set selectedcolor lightwhite,cyan
# set stripecolor ,yellow
# set scrollercolor magenta
# set numbercolor magenta
# set keycolor lightmagenta
# set functioncolor magenta
## === Syntax coloring ===
## For all details, see 'man nanorc', section SYNTAX HIGHLIGHTING.
## To include most of the existing syntax definitions, you can do:
# include "/usr/share/nano/*.nanorc"
## Or you can select just the ones you need. For example:
# include "/usr/share/nano/html.nanorc"
# include "/usr/share/nano/python.nanorc"
# include "/usr/share/nano/sh.nanorc"
## In /usr/share/nano/extra/ you can find some syntaxes that are
## specific for certain distros or for some less common languages.
## If <Tab> should always produce four spaces when editing a Python file,
## independent of the settings of 'tabsize' and 'tabstospaces':
# extendsyntax python tabgives " "
## If <Tab> should always produce an actual TAB when editing a Makefile:
# extendsyntax makefile tabgives " "
## === Key bindings ===
## For all details, see 'man nanorc', section REBINDING KEYS.
## If you want to suspend nano with one keystroke (instead of with ^T^Z):
# bind ^Z suspend main
## The <Ctrl+Delete> keystroke deletes the word to the right of the cursor.
## On some terminals the <Ctrl+Backspace> keystroke produces ^H, which is
## the ASCII character for backspace, so it is bound by default to the
## backspace function. The <Backspace> key itself produces a different
## keycode, which is hard-bound to the backspace function. So, if you
## normally use <Backspace> for backspacing and not ^H, you can make
## <Ctrl+Backspace> delete the word to the left of the cursor with:
# bind ^H chopwordleft main
## For a more mnemonic Comment keystroke (overriding Cut-from-cursor):
# bind M-K comment main
## If you want ^L to just refresh the screen and not center the cursor:
# bind ^L refresh main
## When you sometimes type M-J instead of M-K, or M-T instead of M-R:
# unbind M-J main
# unbind M-T main
## (Those functions are still accessible through ^T^J and ^T^V.)
## For quickly uppercasing or lowercasing the word under or after the cursor.
## (These effectively select a word and pipe it through a sed command.)
#bind Sh-M-U "{nextword}{mark}{prevword}{execute}|sed 's/.*/\U&/'{enter}" main
#bind Sh-M-L "{nextword}{mark}{prevword}{execute}|sed 's/.*/\L&/'{enter}" main
## For copying a marked region to the system clipboard:
# bind Sh-M-T "{execute}|xsel -ib{enter}{undo}" main
## For snipping trailing blanks when you save a file:
# bind ^S "{execute}| sed 's/\s\+$//' {enter}{savefile}" main
## If you would like nano to have keybindings that are more "usual",
## such as ^O for Open, ^F for Find, ^H for Help, and ^Q for Quit,
## then uncomment these:
#bind ^X cut main
#bind ^C copy main
#bind ^V paste all
#bind ^Q exit all
#bind ^S savefile main
#bind ^W writeout main
#bind ^O insert main
#set multibuffer
#bind ^H help all
#bind ^H exit help
#bind ^F whereis all
#bind ^G findnext all
#bind ^B wherewas all
#bind ^D findprevious all
#bind ^R replace main
#unbind ^U all
#unbind ^N main
#unbind ^Y all
#unbind M-J main
#unbind M-T main
#bind ^A mark main
#bind ^P location main
#bind ^T gotoline main
#bind ^T gotodir browser
#bind ^T cutrestoffile execute
#bind ^L linter execute
#bind ^E execute main
#bind ^K "{mark}{end}{zap}" main
#bind ^U "{mark}{home}{zap}" main
#bind ^Z undo main
#bind ^Y redo main

View file

@ -1,6 +0,0 @@
NAME=MSYS2
ID=msys2
PRETTY_NAME="MSYS2"
ID_LIKE="cygwin arch"
HOME_URL="https://www.msys2.org"
BUG_REPORT_URL="https://github.com/msys2/MSYS2-packages/issues"

View file

@ -14,7 +14,7 @@
#CacheDir = /var/cache/pacman/pkg/ #CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log #LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/ #GPGDir = /etc/pacman.d/gnupg/
HoldPkg = pacman HoldPkg = pacman
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u #XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled #CleanMethod = KeepInstalled
@ -29,19 +29,22 @@ Architecture = auto
# Misc options # Misc options
#UseSyslog #UseSyslog
Color #Color
#NoProgressBar #TotalDownload
CheckSpace CheckSpace
#VerbosePkgLists #VerbosePkgLists
ParallelDownloads = 5
# By default, pacman accepts packages signed by keys that its local keyring # By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages. # trusts (see pacman-key and its man page), as well as unsigned packages.
#SigLevel = Never #SigLevel = Never
SigLevel = Required SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required #RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.
# #
# REPOSITORIES # REPOSITORIES
# - can be defined here or included from another file # - can be defined here or included from another file
@ -65,28 +68,11 @@ LocalFileSigLevel = Optional
# repo name header and Include lines. You can add preferred servers immediately # repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors. # after the header, and they will be used before the default mirrors.
# Staging packages: enable at your own risk
# [staging]
# Server = https://repo.msys2.org/staging/
# SigLevel = Never
[clangarm64]
Include = /etc/pacman.d/mirrorlist.mingw
[mingw32] [mingw32]
Include = /etc/pacman.d/mirrorlist.mingw Include = /etc/pacman.d/mirrorlist.mingw32
[mingw64] [mingw64]
Include = /etc/pacman.d/mirrorlist.mingw Include = /etc/pacman.d/mirrorlist.mingw64
[ucrt64]
Include = /etc/pacman.d/mirrorlist.mingw
[clang32]
Include = /etc/pacman.d/mirrorlist.mingw
[clang64]
Include = /etc/pacman.d/mirrorlist.mingw
[msys] [msys]
Include = /etc/pacman.d/mirrorlist.msys Include = /etc/pacman.d/mirrorlist.msys

View file

@ -1,40 +0,0 @@
# See https://www.msys2.org/dev/mirrors
## Primary
Server = https://mirror.msys2.org/mingw/clang32/
Server = https://repo.msys2.org/mingw/clang32/
## Tier 1
Server = https://mirror.umd.edu/msys2/mingw/clang32/
Server = https://mirror.yandex.ru/mirrors/msys2/mingw/clang32/
Server = https://download.nus.edu.sg/mirror/msys2/mingw/clang32/
Server = https://ftp.acc.umu.se/mirror/msys2.org/mingw/clang32/
Server = https://ftp.nluug.nl/pub/os/windows/msys2/builds/mingw/clang32/
Server = https://ftp.osuosl.org/pub/msys2/mingw/clang32/
Server = https://mirror.internet.asn.au/pub/msys2/mingw/clang32/
Server = https://mirror.selfnet.de/msys2/mingw/clang32/
Server = https://mirror.ufro.cl/msys2/mingw/clang32/
Server = https://mirrors.dotsrc.org/msys2/mingw/clang32/
Server = https://mirrors.bfsu.edu.cn/msys2/mingw/clang32/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/clang32/
Server = https://mirrors.ustc.edu.cn/msys2/mingw/clang32/
Server = https://mirror.nju.edu.cn/msys2/mingw/clang32/
Server = https://repo.extreme-ix.org/msys2/mingw/clang32/
Server = https://mirrors.hit.edu.cn/msys2/mingw/clang32/
Server = https://mirror.clarkson.edu/msys2/mingw/clang32/
Server = https://quantum-mirror.hu/mirrors/pub/msys2/mingw/clang32/
Server = https://mirror2.sandyriver.net/pub/software/msys2/mingw/clang32/
Server = https://mirror.archlinux.tw/MSYS2/mingw/clang32/
## Tier 2
Server = https://fastmirror.pp.ua/msys2/mingw/clang32/
Server = https://ftp.cc.uoc.gr/mirrors/msys2/mingw/clang32/
Server = https://mirror.jmu.edu/pub/msys2/mingw/clang32/
Server = https://mirrors.piconets.webwerks.in/msys2-mirror/mingw/clang32/
Server = https://www2.futureware.at/~nickoe/msys2-mirror/mingw/clang32/
Server = https://mirrors.sjtug.sjtu.edu.cn/msys2/mingw/clang32/
Server = https://mirrors.bit.edu.cn/msys2/mingw/clang32/
Server = https://repo.casualgamer.ca/mingw/clang32/
Server = https://mirrors.aliyun.com/msys2/mingw/clang32/
Server = https://mirror.iscas.ac.cn/msys2/mingw/clang32/
Server = https://mirrors.tencent.com/msys2/mingw/clang32/

View file

@ -1,40 +0,0 @@
# See https://www.msys2.org/dev/mirrors
## Primary
Server = https://mirror.msys2.org/mingw/clang64/
Server = https://repo.msys2.org/mingw/clang64/
## Tier 1
Server = https://mirror.umd.edu/msys2/mingw/clang64/
Server = https://mirror.yandex.ru/mirrors/msys2/mingw/clang64/
Server = https://download.nus.edu.sg/mirror/msys2/mingw/clang64/
Server = https://ftp.acc.umu.se/mirror/msys2.org/mingw/clang64/
Server = https://ftp.nluug.nl/pub/os/windows/msys2/builds/mingw/clang64/
Server = https://ftp.osuosl.org/pub/msys2/mingw/clang64/
Server = https://mirror.internet.asn.au/pub/msys2/mingw/clang64/
Server = https://mirror.selfnet.de/msys2/mingw/clang64/
Server = https://mirror.ufro.cl/msys2/mingw/clang64/
Server = https://mirrors.dotsrc.org/msys2/mingw/clang64/
Server = https://mirrors.bfsu.edu.cn/msys2/mingw/clang64/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/clang64/
Server = https://mirrors.ustc.edu.cn/msys2/mingw/clang64/
Server = https://mirror.nju.edu.cn/msys2/mingw/clang64/
Server = https://repo.extreme-ix.org/msys2/mingw/clang64/
Server = https://mirrors.hit.edu.cn/msys2/mingw/clang64/
Server = https://mirror.clarkson.edu/msys2/mingw/clang64/
Server = https://quantum-mirror.hu/mirrors/pub/msys2/mingw/clang64/
Server = https://mirror2.sandyriver.net/pub/software/msys2/mingw/clang64/
Server = https://mirror.archlinux.tw/MSYS2/mingw/clang64/
## Tier 2
Server = https://fastmirror.pp.ua/msys2/mingw/clang64/
Server = https://ftp.cc.uoc.gr/mirrors/msys2/mingw/clang64/
Server = https://mirror.jmu.edu/pub/msys2/mingw/clang64/
Server = https://mirrors.piconets.webwerks.in/msys2-mirror/mingw/clang64/
Server = https://www2.futureware.at/~nickoe/msys2-mirror/mingw/clang64/
Server = https://mirrors.sjtug.sjtu.edu.cn/msys2/mingw/clang64/
Server = https://mirrors.bit.edu.cn/msys2/mingw/clang64/
Server = https://repo.casualgamer.ca/mingw/clang64/
Server = https://mirrors.aliyun.com/msys2/mingw/clang64/
Server = https://mirror.iscas.ac.cn/msys2/mingw/clang64/
Server = https://mirrors.tencent.com/msys2/mingw/clang64/

View file

@ -1,40 +0,0 @@
# See https://www.msys2.org/dev/mirrors
## Primary
Server = https://mirror.msys2.org/mingw/$repo/
Server = https://repo.msys2.org/mingw/$repo/
## Tier 1
Server = https://mirror.umd.edu/msys2/mingw/$repo/
Server = https://mirror.yandex.ru/mirrors/msys2/mingw/$repo/
Server = https://download.nus.edu.sg/mirror/msys2/mingw/$repo/
Server = https://ftp.acc.umu.se/mirror/msys2.org/mingw/$repo/
Server = https://ftp.nluug.nl/pub/os/windows/msys2/builds/mingw/$repo/
Server = https://ftp.osuosl.org/pub/msys2/mingw/$repo/
Server = https://mirror.internet.asn.au/pub/msys2/mingw/$repo/
Server = https://mirror.selfnet.de/msys2/mingw/$repo/
Server = https://mirror.ufro.cl/msys2/mingw/$repo/
Server = https://mirrors.dotsrc.org/msys2/mingw/$repo/
Server = https://mirrors.bfsu.edu.cn/msys2/mingw/$repo/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/$repo/
Server = https://mirrors.ustc.edu.cn/msys2/mingw/$repo/
Server = https://mirror.nju.edu.cn/msys2/mingw/$repo/
Server = https://repo.extreme-ix.org/msys2/mingw/$repo/
Server = https://mirrors.hit.edu.cn/msys2/mingw/$repo/
Server = https://mirror.clarkson.edu/msys2/mingw/$repo/
Server = https://quantum-mirror.hu/mirrors/pub/msys2/mingw/$repo/
Server = https://mirror2.sandyriver.net/pub/software/msys2/mingw/$repo/
Server = https://mirror.archlinux.tw/MSYS2/mingw/$repo/
## Tier 2
Server = https://fastmirror.pp.ua/msys2/mingw/$repo/
Server = https://ftp.cc.uoc.gr/mirrors/msys2/mingw/$repo/
Server = https://mirror.jmu.edu/pub/msys2/mingw/$repo/
Server = https://mirrors.piconets.webwerks.in/msys2-mirror/mingw/$repo/
Server = https://www2.futureware.at/~nickoe/msys2-mirror/mingw/$repo/
Server = https://mirrors.sjtug.sjtu.edu.cn/msys2/mingw/$repo/
Server = https://mirrors.bit.edu.cn/msys2/mingw/$repo/
Server = https://repo.casualgamer.ca/mingw/$repo/
Server = https://mirrors.aliyun.com/msys2/mingw/$repo/
Server = https://mirror.iscas.ac.cn/msys2/mingw/$repo/
Server = https://mirrors.tencent.com/msys2/mingw/$repo/

View file

@ -1,40 +1,14 @@
# See https://www.msys2.org/dev/mirrors ##
## 32-bit Mingw-w64 repository mirrorlist
##
## Primary ## Primary
Server = https://mirror.msys2.org/mingw/i686/ ## msys2.org
Server = https://repo.msys2.org/mingw/i686/ Server = http://repo.msys2.org/mingw/i686/
Server = https://sourceforge.net/projects/msys2/files/REPOS/MINGW/i686/
## Tier 1
Server = https://mirror.umd.edu/msys2/mingw/i686/
Server = https://mirror.yandex.ru/mirrors/msys2/mingw/i686/
Server = https://download.nus.edu.sg/mirror/msys2/mingw/i686/
Server = https://ftp.acc.umu.se/mirror/msys2.org/mingw/i686/
Server = https://ftp.nluug.nl/pub/os/windows/msys2/builds/mingw/i686/
Server = https://ftp.osuosl.org/pub/msys2/mingw/i686/
Server = https://mirror.internet.asn.au/pub/msys2/mingw/i686/
Server = https://mirror.selfnet.de/msys2/mingw/i686/
Server = https://mirror.ufro.cl/msys2/mingw/i686/
Server = https://mirrors.dotsrc.org/msys2/mingw/i686/
Server = https://mirrors.bfsu.edu.cn/msys2/mingw/i686/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686/
Server = https://mirrors.ustc.edu.cn/msys2/mingw/i686/
Server = https://mirror.nju.edu.cn/msys2/mingw/i686/
Server = https://repo.extreme-ix.org/msys2/mingw/i686/
Server = https://mirrors.hit.edu.cn/msys2/mingw/i686/
Server = https://mirror.clarkson.edu/msys2/mingw/i686/
Server = https://quantum-mirror.hu/mirrors/pub/msys2/mingw/i686/
Server = https://mirror2.sandyriver.net/pub/software/msys2/mingw/i686/
Server = https://mirror.archlinux.tw/MSYS2/mingw/i686/
## Tier 2
Server = https://fastmirror.pp.ua/msys2/mingw/i686/
Server = https://ftp.cc.uoc.gr/mirrors/msys2/mingw/i686/
Server = https://mirror.jmu.edu/pub/msys2/mingw/i686/
Server = https://mirrors.piconets.webwerks.in/msys2-mirror/mingw/i686/
Server = https://www2.futureware.at/~nickoe/msys2-mirror/mingw/i686/ Server = https://www2.futureware.at/~nickoe/msys2-mirror/mingw/i686/
Server = https://mirrors.sjtug.sjtu.edu.cn/msys2/mingw/i686/ Server = https://mirror.yandex.ru/mirrors/msys2/mingw/i686/
Server = https://mirrors.bit.edu.cn/msys2/mingw/i686/ Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686/
Server = https://repo.casualgamer.ca/mingw/i686/ Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/
Server = https://mirrors.aliyun.com/msys2/mingw/i686/ Server = http://mirror.bit.edu.cn/msys2/mingw/i686/
Server = https://mirror.iscas.ac.cn/msys2/mingw/i686/ Server = https://mirror.selfnet.de/msys2/mingw/i686/
Server = https://mirrors.tencent.com/msys2/mingw/i686/

View file

@ -1,40 +1,14 @@
# See https://www.msys2.org/dev/mirrors ##
## 64-bit Mingw-w64 repository mirrorlist
##
## Primary ## Primary
Server = https://mirror.msys2.org/mingw/x86_64/ ## msys2.org
Server = https://repo.msys2.org/mingw/x86_64/ Server = http://repo.msys2.org/mingw/x86_64/
Server = https://sourceforge.net/projects/msys2/files/REPOS/MINGW/x86_64/
## Tier 1
Server = https://mirror.umd.edu/msys2/mingw/x86_64/
Server = https://mirror.yandex.ru/mirrors/msys2/mingw/x86_64/
Server = https://download.nus.edu.sg/mirror/msys2/mingw/x86_64/
Server = https://ftp.acc.umu.se/mirror/msys2.org/mingw/x86_64/
Server = https://ftp.nluug.nl/pub/os/windows/msys2/builds/mingw/x86_64/
Server = https://ftp.osuosl.org/pub/msys2/mingw/x86_64/
Server = https://mirror.internet.asn.au/pub/msys2/mingw/x86_64/
Server = https://mirror.selfnet.de/msys2/mingw/x86_64/
Server = https://mirror.ufro.cl/msys2/mingw/x86_64/
Server = https://mirrors.dotsrc.org/msys2/mingw/x86_64/
Server = https://mirrors.bfsu.edu.cn/msys2/mingw/x86_64/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64/
Server = https://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
Server = https://mirror.nju.edu.cn/msys2/mingw/x86_64/
Server = https://repo.extreme-ix.org/msys2/mingw/x86_64/
Server = https://mirrors.hit.edu.cn/msys2/mingw/x86_64/
Server = https://mirror.clarkson.edu/msys2/mingw/x86_64/
Server = https://quantum-mirror.hu/mirrors/pub/msys2/mingw/x86_64/
Server = https://mirror2.sandyriver.net/pub/software/msys2/mingw/x86_64/
Server = https://mirror.archlinux.tw/MSYS2/mingw/x86_64/
## Tier 2
Server = https://fastmirror.pp.ua/msys2/mingw/x86_64/
Server = https://ftp.cc.uoc.gr/mirrors/msys2/mingw/x86_64/
Server = https://mirror.jmu.edu/pub/msys2/mingw/x86_64/
Server = https://mirrors.piconets.webwerks.in/msys2-mirror/mingw/x86_64/
Server = https://www2.futureware.at/~nickoe/msys2-mirror/mingw/x86_64/ Server = https://www2.futureware.at/~nickoe/msys2-mirror/mingw/x86_64/
Server = https://mirrors.sjtug.sjtu.edu.cn/msys2/mingw/x86_64/ Server = https://mirror.yandex.ru/mirrors/msys2/mingw/x86_64/
Server = https://mirrors.bit.edu.cn/msys2/mingw/x86_64/ Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64/
Server = https://repo.casualgamer.ca/mingw/x86_64/ Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
Server = https://mirrors.aliyun.com/msys2/mingw/x86_64/ Server = http://mirror.bit.edu.cn/msys2/mingw/x86_64/
Server = https://mirror.iscas.ac.cn/msys2/mingw/x86_64/ Server = https://mirror.selfnet.de/msys2/mingw/x86_64/
Server = https://mirrors.tencent.com/msys2/mingw/x86_64/

View file

@ -1,40 +1,14 @@
# See https://www.msys2.org/dev/mirrors ##
## MSYS2 repository mirrorlist
##
## Primary ## Primary
Server = https://mirror.msys2.org/msys/$arch/ ## msys2.org
Server = https://repo.msys2.org/msys/$arch/ Server = http://repo.msys2.org/msys/$arch/
Server = https://sourceforge.net/projects/msys2/files/REPOS/MSYS2/$arch/
## Tier 1
Server = https://mirror.umd.edu/msys2/msys/$arch/
Server = https://mirror.yandex.ru/mirrors/msys2/msys/$arch/
Server = https://download.nus.edu.sg/mirror/msys2/msys/$arch/
Server = https://ftp.acc.umu.se/mirror/msys2.org/msys/$arch/
Server = https://ftp.nluug.nl/pub/os/windows/msys2/builds/msys/$arch/
Server = https://ftp.osuosl.org/pub/msys2/msys/$arch/
Server = https://mirror.internet.asn.au/pub/msys2/msys/$arch/
Server = https://mirror.selfnet.de/msys2/msys/$arch/
Server = https://mirror.ufro.cl/msys2/msys/$arch/
Server = https://mirrors.dotsrc.org/msys2/msys/$arch/
Server = https://mirrors.bfsu.edu.cn/msys2/msys/$arch/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch/
Server = https://mirrors.ustc.edu.cn/msys2/msys/$arch/
Server = https://mirror.nju.edu.cn/msys2/msys/$arch/
Server = https://repo.extreme-ix.org/msys2/msys/$arch/
Server = https://mirrors.hit.edu.cn/msys2/msys/$arch/
Server = https://mirror.clarkson.edu/msys2/msys/$arch/
Server = https://quantum-mirror.hu/mirrors/pub/msys2/msys/$arch/
Server = https://mirror2.sandyriver.net/pub/software/msys2/msys/$arch/
Server = https://mirror.archlinux.tw/MSYS2/msys/$arch/
## Tier 2
Server = https://fastmirror.pp.ua/msys2/msys/$arch/
Server = https://ftp.cc.uoc.gr/mirrors/msys2/msys/$arch/
Server = https://mirror.jmu.edu/pub/msys2/msys/$arch/
Server = https://mirrors.piconets.webwerks.in/msys2-mirror/msys/$arch/
Server = https://www2.futureware.at/~nickoe/msys2-mirror/msys/$arch/ Server = https://www2.futureware.at/~nickoe/msys2-mirror/msys/$arch/
Server = https://mirrors.sjtug.sjtu.edu.cn/msys2/msys/$arch/ Server = https://mirror.yandex.ru/mirrors/msys2/msys/$arch/
Server = https://mirrors.bit.edu.cn/msys2/msys/$arch/ Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch/
Server = https://repo.casualgamer.ca/msys/$arch/ Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/
Server = https://mirrors.aliyun.com/msys2/msys/$arch/ Server = http://mirror.bit.edu.cn/msys2/msys/$arch/
Server = https://mirror.iscas.ac.cn/msys2/msys/$arch/ Server = https://mirror.selfnet.de/msys2/msys/$arch/
Server = https://mirrors.tencent.com/msys2/msys/$arch/

View file

@ -1,40 +0,0 @@
# See https://www.msys2.org/dev/mirrors
## Primary
Server = https://mirror.msys2.org/mingw/ucrt64/
Server = https://repo.msys2.org/mingw/ucrt64/
## Tier 1
Server = https://mirror.umd.edu/msys2/mingw/ucrt64/
Server = https://mirror.yandex.ru/mirrors/msys2/mingw/ucrt64/
Server = https://download.nus.edu.sg/mirror/msys2/mingw/ucrt64/
Server = https://ftp.acc.umu.se/mirror/msys2.org/mingw/ucrt64/
Server = https://ftp.nluug.nl/pub/os/windows/msys2/builds/mingw/ucrt64/
Server = https://ftp.osuosl.org/pub/msys2/mingw/ucrt64/
Server = https://mirror.internet.asn.au/pub/msys2/mingw/ucrt64/
Server = https://mirror.selfnet.de/msys2/mingw/ucrt64/
Server = https://mirror.ufro.cl/msys2/mingw/ucrt64/
Server = https://mirrors.dotsrc.org/msys2/mingw/ucrt64/
Server = https://mirrors.bfsu.edu.cn/msys2/mingw/ucrt64/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/ucrt64/
Server = https://mirrors.ustc.edu.cn/msys2/mingw/ucrt64/
Server = https://mirror.nju.edu.cn/msys2/mingw/ucrt64/
Server = https://repo.extreme-ix.org/msys2/mingw/ucrt64/
Server = https://mirrors.hit.edu.cn/msys2/mingw/ucrt64/
Server = https://mirror.clarkson.edu/msys2/mingw/ucrt64/
Server = https://quantum-mirror.hu/mirrors/pub/msys2/mingw/ucrt64/
Server = https://mirror2.sandyriver.net/pub/software/msys2/mingw/ucrt64/
Server = https://mirror.archlinux.tw/MSYS2/mingw/ucrt64/
## Tier 2
Server = https://fastmirror.pp.ua/msys2/mingw/ucrt64/
Server = https://ftp.cc.uoc.gr/mirrors/msys2/mingw/ucrt64/
Server = https://mirror.jmu.edu/pub/msys2/mingw/ucrt64/
Server = https://mirrors.piconets.webwerks.in/msys2-mirror/mingw/ucrt64/
Server = https://www2.futureware.at/~nickoe/msys2-mirror/mingw/ucrt64/
Server = https://mirrors.sjtug.sjtu.edu.cn/msys2/mingw/ucrt64/
Server = https://mirrors.bit.edu.cn/msys2/mingw/ucrt64/
Server = https://repo.casualgamer.ca/mingw/ucrt64/
Server = https://mirrors.aliyun.com/msys2/mingw/ucrt64/
Server = https://mirror.iscas.ac.cn/msys2/mingw/ucrt64/
Server = https://mirrors.tencent.com/msys2/mingw/ucrt64/

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,31 @@
maybe_create_devs () maybe_create_devs ()
{ {
local DEVDIR=/dev local DEVDIR=/dev
# Check for ${DEVDIR} directory
if [ -e "${DEVDIR}" -a ! -d "${DEVDIR}" ]
then
# No mercy. Try to remove.
rm -f "${DEVDIR}"
if [ -e "${DEVDIR}" -a ! -d "${DEVDIR}" ]
then
echo
echo "${DEVDIR} is existant but not a directory."
echo "Please fix that manually, otherwise you WILL get problems."
echo
exit 1
fi
fi
# Create it if necessary
mkdir -m 755 "${DEVDIR}" 2> /dev/null
if [ ! -e "${DEVDIR}" ]
then
echo
echo "Creating ${DEVDIR} directory failed."
echo "Please fix that manually, otherwise you WILL get problems."
echo
exit 1
fi
# Check for ${DEVDIR}/shm directory (for POSIX semaphores and POSIX shared mem) # Check for ${DEVDIR}/shm directory (for POSIX semaphores and POSIX shared mem)
if [ -e "${DEVDIR}/shm" -a ! -d "${DEVDIR}/shm" ] if [ -e "${DEVDIR}/shm" -a ! -d "${DEVDIR}/shm" ]
@ -19,7 +44,7 @@ maybe_create_devs ()
# Create it if necessary # Create it if necessary
if [ ! -e "${DEVDIR}/shm" ] if [ ! -e "${DEVDIR}/shm" ]
then then
mkdir "${DEVDIR}/shm" mkdir -m 1777 "${DEVDIR}/shm"
if [ ! -e "${DEVDIR}/shm" ] if [ ! -e "${DEVDIR}/shm" ]
then then
echo echo
@ -27,6 +52,8 @@ maybe_create_devs ()
echo "POSIX semaphores and POSIX shared memory will not work" echo "POSIX semaphores and POSIX shared memory will not work"
echo echo
fi fi
else
chmod 1777 "${DEVDIR}/shm"
fi fi
# Check for ${DEVDIR}/mqueue directory (for POSIX message queues) # Check for ${DEVDIR}/mqueue directory (for POSIX message queues)
@ -46,7 +73,7 @@ maybe_create_devs ()
# Create it if necessary # Create it if necessary
if [ ! -e "${DEVDIR}/mqueue" ] if [ ! -e "${DEVDIR}/mqueue" ]
then then
mkdir "${DEVDIR}/mqueue" mkdir -m 1777 "${DEVDIR}/mqueue"
if [ ! -e "${DEVDIR}/mqueue" ] if [ ! -e "${DEVDIR}/mqueue" ]
then then
echo echo
@ -54,7 +81,16 @@ maybe_create_devs ()
echo "POSIX message queues will not work" echo "POSIX message queues will not work"
echo echo
fi fi
else
chmod 1777 "${DEVDIR}/mqueue"
fi fi
# Install /dev/fd, /dev/std{in,out,err}. The bash builtin test was compiled
# to assume these exist, so use /bin/test to really check.
/usr/bin/test -h /dev/stdin || ln -sf /proc/self/fd/0 /dev/stdin
/usr/bin/test -h /dev/stdout || ln -sf /proc/self/fd/1 /dev/stdout
/usr/bin/test -h /dev/stderr || ln -sf /proc/self/fd/2 /dev/stderr
/usr/bin/test -h /dev/fd || ln -sf /proc/self/fd /dev/fd
} }
maybe_create_devs maybe_create_devs

View file

@ -1,26 +1,27 @@
maybe_create_winetc () maybe_create_winetc ()
{ {
local FILES="hosts protocols services networks" local FILES="hosts protocols services networks"
local WINSYS32HOME="$(exec /usr/bin/cygpath -S -w)"
local WINETC="${WINSYS32HOME}\\drivers\\etc"
if [ ! -d "${WINETC}" ]; then
echo "Directory ${WINETC} does not exist; exiting" >&2
echo "If directory name is garbage you need to update your msys package" >&2
exit 1
fi
local mketc= local mketc=
for mketc in ${FILES} for mketc in ${FILES}
do do
if [ ! -e "/etc/${mketc}" -a ! -L "/etc/${mketc}" ] if [ ! -e "/etc/${mketc}" -a ! -L "/etc/${mketc}" ]
then then
local WINSYS32HOME="$(exec /usr/bin/cygpath -S -w)"
local WINETC="${WINSYS32HOME}\\drivers\\etc"
if [ ! -d "${WINETC}" ]; then
echo "Directory ${WINETC} does not exist; exiting" >&2
echo "If directory name is garbage you need to update your msys package" >&2
exit 1
fi
# Windows only uses the first 8 characters # Windows only uses the first 8 characters
local WFILE="${WINETC}\\$(exec expr substr "${mketc}" 1 8)" local WFILE="${WINETC}\\$(exec expr substr "${mketc}" 1 8)"
/usr/bin/cp -p -v "${WFILE}" "/etc/${mketc}" /usr/bin/cp -p -v "${WFILE}" "/etc/${mketc}"
fi fi
done done
/usr/bin/chmod 1777 /tmp 2>/dev/null
} }
maybe_create_winetc maybe_create_winetc

View file

@ -2,11 +2,11 @@ maybe_init_keyring ()
{ {
if [ ! -d /etc/pacman.d/gnupg ] if [ ! -d /etc/pacman.d/gnupg ]
then then
export GNUPGHOME="$(pacman-conf.exe gpgdir)"
/usr/bin/pacman-key --init /usr/bin/pacman-key --init
/usr/bin/pacman-key --populate msys2 || true /usr/bin/pacman-key --populate msys2 || true
/usr/bin/pacman-key --refresh-keys || true /usr/bin/pacman-key --refresh-keys || true
/usr/bin/gpgconf --kill all
MAYBE_FIRST_START=true
fi fi
} }

View file

@ -0,0 +1,12 @@
maybe_create_xml_catalog ()
{
if [ ! -f "/etc/xml/catalog" ]
then
/usr/bin/mkdir -p /etc/xml
/usr/bin/xmlcatalog --noout --create /etc/xml/catalog
MAYBE_FIRST_START=true
fi
}
maybe_create_xml_catalog

View file

@ -47,29 +47,26 @@ esac
unset MINGW_MOUNT_POINT unset MINGW_MOUNT_POINT
. '/etc/msystem' . '/etc/msystem'
case "${MSYSTEM}" in case "${MSYSTEM}" in
MINGW*|CLANG*|UCRT*) MINGW32)
MINGW_MOUNT_POINT="${MINGW_PREFIX}"
PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}${ORIGINAL_PATH:+:${ORIGINAL_PATH}}"
PKG_CONFIG_PATH="${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig"
ACLOCAL_PATH="${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal"
MANPATH="${MINGW_MOUNT_POINT}/local/man:${MINGW_MOUNT_POINT}/share/man:${MANPATH}"
;;
MINGW64)
MINGW_MOUNT_POINT="${MINGW_PREFIX}" MINGW_MOUNT_POINT="${MINGW_PREFIX}"
PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}${ORIGINAL_PATH:+:${ORIGINAL_PATH}}" PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}${ORIGINAL_PATH:+:${ORIGINAL_PATH}}"
PKG_CONFIG_PATH="${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig" PKG_CONFIG_PATH="${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig"
PKG_CONFIG_SYSTEM_INCLUDE_PATH="${MINGW_MOUNT_POINT}/include"
PKG_CONFIG_SYSTEM_LIBRARY_PATH="${MINGW_MOUNT_POINT}/lib"
ACLOCAL_PATH="${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal" ACLOCAL_PATH="${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal"
MANPATH="${MINGW_MOUNT_POINT}/local/man:${MINGW_MOUNT_POINT}/share/man:${MANPATH}" MANPATH="${MINGW_MOUNT_POINT}/local/man:${MINGW_MOUNT_POINT}/share/man:${MANPATH}"
INFOPATH="${MINGW_MOUNT_POINT}/local/info:${MINGW_MOUNT_POINT}/share/info:${INFOPATH}"
;; ;;
*) *)
PATH="${MSYS2_PATH}:/opt/bin${ORIGINAL_PATH:+:${ORIGINAL_PATH}}" PATH="${MSYS2_PATH}:/opt/bin${ORIGINAL_PATH:+:${ORIGINAL_PATH}}"
PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig" PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig"
esac esac
CONFIG_SITE="/etc/config.site"
MAYBE_FIRST_START=false MAYBE_FIRST_START=false
if [ ! -d "${HOME}" ]; then
printf "\e[1;32mMSYS2 is starting for the first time. Executing the initial setup.\e[1;0m\n" 1>&2;
MAYBE_FIRST_START=true
fi
SYSCONFDIR="${SYSCONFDIR:=/etc}" SYSCONFDIR="${SYSCONFDIR:=/etc}"
# TMP and TEMP as defined in the Windows environment must be kept # TMP and TEMP as defined in the Windows environment must be kept
@ -77,8 +74,18 @@ SYSCONFDIR="${SYSCONFDIR:=/etc}"
# them set to the default Windows temporary directory or unset # them set to the default Windows temporary directory or unset
# can have unexpected consequences for msys2 apps, so we define # can have unexpected consequences for msys2 apps, so we define
# our own to match GNU/Linux behaviour. # our own to match GNU/Linux behaviour.
#
# Note: this uppercase/lowercase workaround does not seem to work.
# In fact, it has been removed from Cygwin some years ago. See:
#
# * https://cygwin.com/git/gitweb.cgi?p=cygwin-apps/base-files.git;a=commitdiff;h=3e54b07
# * https://cygwin.com/git/gitweb.cgi?p=cygwin-apps/base-files.git;a=commitdiff;h=7f09aef
#
ORIGINAL_TMP="${ORIGINAL_TMP:-${TMP}}" ORIGINAL_TMP="${ORIGINAL_TMP:-${TMP}}"
ORIGINAL_TEMP="${ORIGINAL_TEMP:-${TEMP}}" ORIGINAL_TEMP="${ORIGINAL_TEMP:-${TEMP}}"
unset TMP TEMP
tmp=$(exec cygpath -w "$ORIGINAL_TMP" 2> /dev/null)
temp=$(exec cygpath -w "$ORIGINAL_TEMP" 2> /dev/null)
TMP="/tmp" TMP="/tmp"
TEMP="/tmp" TEMP="/tmp"
@ -90,6 +97,14 @@ if [ -e "${p}" ] ; then
fi fi
unset p unset p
print_flags ()
{
(( $1 & 0x0002 )) && echo -n "binary" || echo -n "text"
(( $1 & 0x0010 )) && echo -n ",exec"
(( $1 & 0x0040 )) && echo -n ",cygexec"
(( $1 & 0x0100 )) && echo -n ",notexec"
}
# Shell dependent settings # Shell dependent settings
profile_d () profile_d ()
{ {
@ -138,10 +153,30 @@ then
export ACLOCAL_PATH export ACLOCAL_PATH
fi fi
export PATH MANPATH INFOPATH PKG_CONFIG_PATH PKG_CONFIG_SYSTEM_INCLUDE_PATH PKG_CONFIG_SYSTEM_LIBRARY_PATH USER TMP TEMP PRINTER HOSTNAME PS1 SHELL ORIGINAL_TMP ORIGINAL_TEMP ORIGINAL_PATH CONFIG_SITE export PATH MANPATH INFOPATH PKG_CONFIG_PATH USER TMP TEMP PRINTER HOSTNAME PS1 SHELL tmp temp ORIGINAL_TMP ORIGINAL_TEMP ORIGINAL_PATH
unset PATH_SEPARATOR unset PATH_SEPARATOR
if [ "$MAYBE_FIRST_START" = "true" ]; then if [ "$MAYBE_FIRST_START" = "true" ]; then
printf "\e[1;32mInitial setup complete. MSYS2 is now ready to use.\e[1;0m\n" 1>&2;
if [ -f "/usr/bin/update-ca-trust" ]
then
sh /usr/bin/update-ca-trust
fi
clear
echo
echo
echo "###################################################################"
echo "# #"
echo "# #"
echo "# C A U T I O N #"
echo "# #"
echo "# This is first start of MSYS2. #"
echo "# You MUST restart shell to apply necessary actions. #"
echo "# #"
echo "# #"
echo "###################################################################"
echo
echo
fi fi
unset MAYBE_FIRST_START unset MAYBE_FIRST_START

View file

@ -1,27 +0,0 @@
# Setting XDG_DATA_DIRS allows bash-completion to find completion files
# installed in the mingw package prefixes as well
if [ ! "${MINGW_PREFIX}" = "" ]; then
XDG_DATA_DIRS="/usr/local/share/:/usr/share/"
export XDG_DATA_DIRS="$MINGW_PREFIX/share/:$XDG_DATA_DIRS"
fi
# Warn the user on the first login shell in case we detect a too old Windows version
_warn_deprecated_winver()
{
if [ "$__MSYS2_WINDOWS_VERSION_WARNING_DONE" = "true" ]; then
return;
fi
local winver
winver=$(uname -s) # looks like `MINGW64_NT-10.0-22621`
winver=${winver#*-} # strip off `<prefix>-`
winver=${winver%%-*} # strip off `-<suffix>`, if any
if [ "$winver" = "6.1" ] || [ "$winver" = "6.2" ]; then
export __MSYS2_WINDOWS_VERSION_WARNING_DONE="true"
printf "\e[1;33mThe MSYS2 project no longer supports Windows 7 and 8.0.\e[1;0m\n" 1>&2;
printf "\e[1;33mFor more information visit https://www.msys2.org/docs/windows_support\e[1;0m\n" 1>&2;
fi
}
_warn_deprecated_winver;
unset _warn_deprecated_winver;

View file

@ -3,9 +3,9 @@
if [ "x${BASH_VERSION-}" != x -a "x${PS1-}" != x -a "x${BASH_COMPLETION_VERSINFO-}" = x ]; then if [ "x${BASH_VERSION-}" != x -a "x${PS1-}" != x -a "x${BASH_COMPLETION_VERSINFO-}" = x ]; then
# Check for recent enough version of bash. # Check for recent enough version of bash.
if [ "${BASH_VERSINFO[0]}" -gt 4 ] || if [ "${BASH_VERSINFO[0]}" -gt 4 ] || \
[ "${BASH_VERSINFO[0]}" -eq 4 -a "${BASH_VERSINFO[1]}" -ge 2 ]; then [ "${BASH_VERSINFO[0]}" -eq 4 -a "${BASH_VERSINFO[1]}" -ge 1 ]; then
[ -r "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" ] && [ -r "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" ] && \
. "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" . "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion"
if shopt -q progcomp && [ -r /usr/share/bash-completion/bash_completion ]; then if shopt -q progcomp && [ -r /usr/share/bash-completion/bash_completion ]; then
# Source completion code. # Source completion code.

114
msys2/etc/skel/.inputrc Normal file
View file

@ -0,0 +1,114 @@
# To the extent possible under law, the author(s) have dedicated all
# copyright and related and neighboring rights to this software to the
# public domain worldwide. This software is distributed without any warranty.
# You should have received a copy of the CC0 Public Domain Dedication along
# with this software.
# If not, see <https://creativecommons.org/publicdomain/zero/1.0/>.
# ~/.inputrc: readline initialization file.
# The copy in your home directory (~/.inputrc) is yours, please
# feel free to customise it to create a shell
# environment to your liking. If you feel a change
# would be benifitial to all, please feel free to send
# a patch to the msys2 mailing list.
# the following line is actually
# equivalent to "\C-?": delete-char
# "\e[3~": delete-char
# VT
# "\e[1~": beginning-of-line
# "\e[4~": end-of-line
# kvt
# "\e[H": beginning-of-line
# "\e[F": end-of-line
# rxvt and konsole (i.e. the KDE-app...)
# "\e[7~": beginning-of-line
# "\e[8~": end-of-line
# VT220
# "\eOH": beginning-of-line
# "\eOF": end-of-line
# Allow 8-bit input/output
# set meta-flag on
# set convert-meta off
# set input-meta on
# set output-meta on
#$if Bash
# Don't ring bell on completion
set bell-style none
# or, don't beep at me - show me
#set bell-style visible
# Show all instead of beeping first
set show-all-if-ambiguous off
# Filename completion/expansion
set completion-ignore-case on
#set show-all-if-ambiguous on
# Expand homedir name
#set expand-tilde on
# Append "/" to all dirnames
#set mark-directories on
#set mark-symlinked-directories on
# visible-stats
# Append a mark according to the file type in a listing
set visible-stats off
set mark-directories on
# Match all files
#set match-hidden-files on
# 'Magic Space'
# Insert a space character then performs
# a history expansion in the line
#Space: magic-space
#$endif
# MSYSTEM is emacs based
$if mode=emacs
# Common to Console & RXVT
"\C-?": backward-kill-line # Ctrl-BackSpace
"\e[2~": paste-from-clipboard # "Ins. Key"
"\e[5~": beginning-of-history # Page up
"\e[6~": end-of-history # Page down
$if term=msys # RXVT
"\e[7~": beginning-of-line # Home Key
"\e[8~": end-of-line # End Key
"\e[11~": display-shell-version # F1
"\e[15~": re-read-init-file # F5
"\e[12~": "Function Key 2"
"\e[13~": "Function Key 3"
"\e[14~": "Function Key 4"
"\e[17~": "Function Key 6"
"\e[18~": "Function Key 7"
"\e[19~": "Function Key 8"
"\e[20~": "Function Key 9"
"\e[21~": "Function Key 10"
$else
# Eh, normal Console is not really cygwin anymore, is it? Using 'else' instead. -mstormo
# $if term=cygwin # Console
"\e[1~": beginning-of-line # Home Key
"\e[4~": end-of-line # End Key
"\e[3~": delete-char # Delete Key
"\e\e[C": forward-word # Alt-Right
"\e\e[D": backward-word # Alt-Left
"\e[1;5C": forward-word # ctrl + right
"\e[1;5D": backward-word # ctrl + left
"\e[17~": "Function Key 6"
"\e[18~": "Function Key 7"
"\e[19~": "Function Key 8"
"\e[20~": "Function Key 9"
"\e[21~": "Function Key 10"
"\e[23~": "Function Key 11"
$endif
$endif

View file

@ -27,3 +27,26 @@ if [ -n "${BASH_VERSION}" ]; then
source "${HOME}/.bashrc" source "${HOME}/.bashrc"
fi fi
fi fi
agm2() {
local MINGW_DIRS="mingw32 mingw64"
local AG_FIND=
for dir in ${MINGW_DIRS}; do
if type -p /${dir}/bin/ag >/dev/null; then
AG_FIND=/${dir}/bin/ag
fi
done
if ! type -p /usr/bin/git >/dev/null; then
echo "bash: git: command not found. Please install \"git\" package."
exit 1
fi
if [ -n "$AG_FIND" ]; then
$AG_FIND --makepkg --depth 1 "$@" $(git rev-parse --show-toplevel)
else
echo "bash: ag: conmmand not found. Please install \"mingw-w64-i686-ag\" or \"mingw-w64-x86_64-ag\" package."
exit 1
fi
}

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before After
Before After

View file

@ -0,0 +1,21 @@
# This file is in public domain.
# Original author: Karlson2k (Evgeny Grin)
# Written for MSys2/MinGW64 to help running 'configure' scripts
# Defaults for MinGW64-targeted programs
# Set proper selfname on bash and fallback to default name on other shells
test -n "${BASH_SOURCE}" 2>/dev/null && config_site_me="${BASH_SOURCE[0]##*/}" || config_site_me=config.site
# Set default 'host' to speedup configure
if test -z "$build_alias"; then
build_alias="${MSYSTEM_CHOST-i686-w64-mingw32}" && \
${as_echo-echo} "$config_site_me:${as_lineno-$LINENO}: default build_alias set to $build_alias" >&5
fi
# Set default 'prefix' to "/mingw32"
if ( test -z "$prefix" || test "x$prefix" = "xNONE" ) && \
( test -z "$exec_prefix" || test "x$exec_prefix" = "xNONE" ); then
prefix="${MSYSTEM_PREFIX-/mingw32}" && \
${as_echo-echo} "$config_site_me:${as_lineno-$LINENO}: default prefix set to $prefix" >&5
fi

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before After
Before After

View file

@ -0,0 +1,21 @@
# This file is in public domain.
# Original author: Karlson2k (Evgeny Grin)
# Written for MSys2/MinGW64 to help running 'configure' scripts
# Defaults for MinGW64-targeted programs
# Set proper selfname on bash and fallback to default name on other shells
test -n "${BASH_SOURCE}" 2>/dev/null && config_site_me="${BASH_SOURCE[0]##*/}" || config_site_me=config.site
# Set default 'host' to speedup configure
if test -z "$build_alias"; then
build_alias="${MSYSTEM_CHOST-x86_64-w64-mingw32}" && \
${as_echo-echo} "$config_site_me:${as_lineno-$LINENO}: default build_alias set to $build_alias" >&5
fi
# Set default 'prefix' to "/mingw64"
if ( test -z "$prefix" || test "x$prefix" = "xNONE" ) && \
( test -z "$exec_prefix" || test "x$exec_prefix" = "xNONE" ); then
prefix="${MSYSTEM_PREFIX-/mingw64}" && \
${as_echo-echo} "$config_site_me:${as_lineno-$LINENO}: default prefix set to $prefix" >&5
fi

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before After
Before After

View file

@ -1,241 +1,222 @@
@echo off @echo off
setlocal EnableDelayedExpansion setlocal EnableDelayedExpansion
set "WD=%__CD__%" set "WD=%__CD__%"
if NOT EXIST "%WD%msys-2.0.dll" set "WD=%~dp0usr\bin\" if NOT EXIST "%WD%msys-2.0.dll" set "WD=%~dp0usr\bin\"
set "LOGINSHELL=bash" set "LOGINSHELL=bash"
set /a msys2_shiftCounter=0 set /a msys2_shiftCounter=0
rem To activate windows native symlinks uncomment next line rem To activate windows native symlinks uncomment next line
rem set MSYS=winsymlinks:nativestrict rem set MSYS=winsymlinks:nativestrict
rem Set debugging program for errors rem Set debugging program for errors
rem set MSYS=error_start:%WD%../../mingw64/bin/qtcreator.exe^|-debug^|^<process-id^> rem set MSYS=error_start:%WD%../../mingw64/bin/qtcreator.exe^|-debug^|^<process-id^>
rem To export full current PATH from environment into MSYS2 use '-use-full-path' parameter rem To export full current PATH from environment into MSYS2 use '-use-full-path' parameter
rem or uncomment next line rem or uncomment next line
rem set MSYS2_PATH_TYPE=inherit rem set MSYS2_PATH_TYPE=inherit
:checkparams :checkparams
rem Help option rem Help option
if "x%~1" == "x-help" ( if "x%~1" == "x-help" (
call :printhelp "%~nx0" call :printhelp "%~nx0"
exit /b %ERRORLEVEL% exit /b %ERRORLEVEL%
) )
if "x%~1" == "x--help" ( if "x%~1" == "x--help" (
call :printhelp "%~nx0" call :printhelp "%~nx0"
exit /b %ERRORLEVEL% exit /b %ERRORLEVEL%
) )
if "x%~1" == "x-?" ( if "x%~1" == "x-?" (
call :printhelp "%~nx0" call :printhelp "%~nx0"
exit /b %ERRORLEVEL% exit /b %ERRORLEVEL%
) )
if "x%~1" == "x/?" ( if "x%~1" == "x/?" (
call :printhelp "%~nx0" call :printhelp "%~nx0"
exit /b %ERRORLEVEL% exit /b %ERRORLEVEL%
) )
rem Shell types rem Shell types
if "x%~1" == "x-msys" shift& set /a msys2_shiftCounter+=1& set MSYSTEM=MSYS& goto :checkparams if "x%~1" == "x-msys" shift& set /a msys2_shiftCounter+=1& set MSYSTEM=MSYS& goto :checkparams
if "x%~1" == "x-msys2" shift& set /a msys2_shiftCounter+=1& set MSYSTEM=MSYS& goto :checkparams if "x%~1" == "x-msys2" shift& set /a msys2_shiftCounter+=1& set MSYSTEM=MSYS& goto :checkparams
if "x%~1" == "x-mingw32" shift& set /a msys2_shiftCounter+=1& set MSYSTEM=MINGW32& goto :checkparams if "x%~1" == "x-mingw32" shift& set /a msys2_shiftCounter+=1& set MSYSTEM=MINGW32& goto :checkparams
if "x%~1" == "x-mingw64" shift& set /a msys2_shiftCounter+=1& set MSYSTEM=MINGW64& goto :checkparams if "x%~1" == "x-mingw64" shift& set /a msys2_shiftCounter+=1& set MSYSTEM=MINGW64& goto :checkparams
if "x%~1" == "x-ucrt64" shift& set /a msys2_shiftCounter+=1& set MSYSTEM=UCRT64& goto :checkparams if "x%~1" == "x-mingw" shift& set /a msys2_shiftCounter+=1& (if exist "%WD%..\..\mingw64" (set MSYSTEM=MINGW64) else (set MSYSTEM=MINGW32))& goto :checkparams
if "x%~1" == "x-clang64" shift& set /a msys2_shiftCounter+=1& set MSYSTEM=CLANG64& goto :checkparams rem Console types
if "x%~1" == "x-clang32" shift& set /a msys2_shiftCounter+=1& set MSYSTEM=CLANG32& goto :checkparams if "x%~1" == "x-mintty" shift& set /a msys2_shiftCounter+=1& set MSYSCON=mintty.exe& goto :checkparams
if "x%~1" == "x-clangarm64" shift& set /a msys2_shiftCounter+=1& set MSYSTEM=CLANGARM64& goto :checkparams if "x%~1" == "x-conemu" shift& set /a msys2_shiftCounter+=1& set MSYSCON=conemu& goto :checkparams
if "x%~1" == "x-mingw" shift& set /a msys2_shiftCounter+=1& (if exist "%WD%..\..\mingw64" (set MSYSTEM=MINGW64) else (set MSYSTEM=MINGW32))& goto :checkparams if "x%~1" == "x-defterm" shift& set /a msys2_shiftCounter+=1& set MSYSCON=defterm& goto :checkparams
rem Console types rem Other parameters
if "x%~1" == "x-mintty" shift& set /a msys2_shiftCounter+=1& set MSYSCON=mintty.exe& goto :checkparams if "x%~1" == "x-full-path" shift& set /a msys2_shiftCounter+=1& set MSYS2_PATH_TYPE=inherit& goto :checkparams
if "x%~1" == "x-conemu" shift& set /a msys2_shiftCounter+=1& set MSYSCON=conemu& goto :checkparams if "x%~1" == "x-use-full-path" shift& set /a msys2_shiftCounter+=1& set MSYS2_PATH_TYPE=inherit& goto :checkparams
if "x%~1" == "x-defterm" shift& set /a msys2_shiftCounter+=1& set MSYSCON=defterm& goto :checkparams if "x%~1" == "x-here" shift& set /a msys2_shiftCounter+=1& set CHERE_INVOKING=enabled_from_arguments& goto :checkparams
rem Other parameters if "x%~1" == "x-where" (
if "x%~1" == "x-full-path" shift& set /a msys2_shiftCounter+=1& set MSYS2_PATH_TYPE=inherit& goto :checkparams if "x%~2" == "x" (
if "x%~1" == "x-use-full-path" shift& set /a msys2_shiftCounter+=1& set MSYS2_PATH_TYPE=inherit& goto :checkparams echo Working directory is not specified for -where parameter. 1>&2
if "x%~1" == "x-here" shift& set /a msys2_shiftCounter+=1& set CHERE_INVOKING=enabled_from_arguments& goto :checkparams exit /b 2
if "x%~1" == "x-where" ( )
if "x%~2" == "x" ( cd /d "%~2" || (
echo Working directory is not specified for -where parameter. 1>&2 echo Cannot set specified working diretory "%~2". 1>&2
exit /b 2 exit /b 2
) )
cd /d "%~2" || ( set CHERE_INVOKING=enabled_from_arguments
echo Cannot set specified working diretory "%~2". 1>&2
exit /b 2 rem Ensure parentheses in argument do not interfere with FOR IN loop below.
) set msys2_arg="%~2"
set CHERE_INVOKING=enabled_from_arguments call :substituteparens msys2_arg
call :removequotes msys2_arg
rem Ensure parentheses in argument do not interfere with FOR IN loop below.
set msys2_arg="%~2" rem Increment msys2_shiftCounter by number of words in argument (as cmd.exe saw it).
call :substituteparens msys2_arg rem (Note that this form of FOR IN loop uses same delimiters as parameters.)
call :removequotes msys2_arg for %%a in (!msys2_arg!) do set /a msys2_shiftCounter+=1
)& shift& shift& set /a msys2_shiftCounter+=1& goto :checkparams
rem Increment msys2_shiftCounter by number of words in argument (as cmd.exe saw it). if "x%~1" == "x-no-start" shift& set /a msys2_shiftCounter+=1& set MSYS2_NOSTART=yes& goto :checkparams
rem (Note that this form of FOR IN loop uses same delimiters as parameters.) if "x%~1" == "x-shell" (
for %%a in (!msys2_arg!) do set /a msys2_shiftCounter+=1 if "x%~2" == "x" (
)& shift& shift& set /a msys2_shiftCounter+=1& goto :checkparams echo Shell not specified for -shell parameter. 1>&2
if "x%~1" == "x-no-start" shift& set /a msys2_shiftCounter+=1& set MSYS2_NOSTART=yes& goto :checkparams exit /b 2
if "x%~1" == "x-shell" ( )
if "x%~2" == "x" ( set LOGINSHELL="%~2"
echo Shell not specified for -shell parameter. 1>&2 call :removequotes LOGINSHELL
exit /b 2
) set msys2_arg="%~2"
set LOGINSHELL="%~2" call :substituteparens msys2_arg
call :removequotes LOGINSHELL call :removequotes msys2_arg
for %%a in (!msys2_arg!) do set /a msys2_shiftCounter+=1
set msys2_arg="%~2" )& shift& shift& set /a msys2_shiftCounter+=1& goto :checkparams
call :substituteparens msys2_arg
call :removequotes msys2_arg rem Collect remaining command line arguments to be passed to shell
for %%a in (!msys2_arg!) do set /a msys2_shiftCounter+=1 if %msys2_shiftCounter% equ 0 set SHELL_ARGS=%* & goto cleanvars
)& shift& shift& set /a msys2_shiftCounter+=1& goto :checkparams set msys2_full_cmd=%*
for /f "tokens=%msys2_shiftCounter%,* delims=,;= " %%i in ("!msys2_full_cmd!") do set SHELL_ARGS=%%j
rem Collect remaining command line arguments to be passed to shell
if %msys2_shiftCounter% equ 0 set SHELL_ARGS=%* & goto cleanvars :cleanvars
set msys2_full_cmd=%* set msys2_arg=
for /f "tokens=%msys2_shiftCounter%,* delims=,;= " %%i in ("!msys2_full_cmd!") do set SHELL_ARGS=%%j set msys2_shiftCounter=
set msys2_full_cmd=
:cleanvars
set msys2_arg= rem Setup proper title
set msys2_shiftCounter= if "%MSYSTEM%" == "MINGW32" (
set msys2_full_cmd= set "CONTITLE=MinGW x32"
) else if "%MSYSTEM%" == "MINGW64" (
rem Setup proper title and icon set "CONTITLE=MinGW x64"
if "%MSYSTEM%" == "MINGW32" ( ) else (
set "CONTITLE=MinGW x32" set "CONTITLE=MSYS2 MSYS"
set "CONICON=mingw32.ico" )
) else if "%MSYSTEM%" == "MINGW64" (
set "CONTITLE=MinGW x64" if "x%MSYSCON%" == "xmintty.exe" goto startmintty
set "CONICON=mingw64.ico" if "x%MSYSCON%" == "xconemu" goto startconemu
) else if "%MSYSTEM%" == "UCRT64" ( if "x%MSYSCON%" == "xdefterm" goto startsh
set "CONTITLE=MinGW UCRT x64"
set "CONICON=ucrt64.ico" if NOT EXIST "%WD%mintty.exe" goto startsh
) else if "%MSYSTEM%" == "CLANG64" ( set MSYSCON=mintty.exe
set "CONTITLE=MinGW Clang x64" :startmintty
set "CONICON=clang64.ico" if not defined MSYS2_NOSTART (
) else if "%MSYSTEM%" == "CLANG32" ( start "%CONTITLE%" "%WD%mintty" -i /msys2.ico -t "%CONTITLE%" "/usr/bin/%LOGINSHELL%" --login !SHELL_ARGS!
set "CONTITLE=MinGW Clang x32" ) else (
set "CONICON=clang32.ico" "%WD%mintty" -i /msys2.ico -t "%CONTITLE%" "/usr/bin/%LOGINSHELL%" --login !SHELL_ARGS!
) else if "%MSYSTEM%" == "CLANGARM64" ( )
set "CONTITLE=MinGW Clang ARM64" exit /b %ERRORLEVEL%
set "CONICON=clangarm64.ico"
) else ( :startconemu
set "CONTITLE=MSYS2 MSYS" call :conemudetect || (
set "CONICON=msys2.ico" echo ConEmu not found. Exiting. 1>&2
) exit /b 1
)
if "x%MSYSCON%" == "xmintty.exe" goto startmintty if not defined MSYS2_NOSTART (
if "x%MSYSCON%" == "xconemu" goto startconemu start "%CONTITLE%" "%ComEmuCommand%" /Here /Icon "%WD%..\..\msys2.ico" /cmd "%WD%\%LOGINSHELL%" --login !SHELL_ARGS!
if "x%MSYSCON%" == "xdefterm" goto startsh ) else (
"%ComEmuCommand%" /Here /Icon "%WD%..\..\msys2.ico" /cmd "%WD%\%LOGINSHELL%" --login !SHELL_ARGS!
if NOT EXIST "%WD%mintty.exe" goto startsh )
set MSYSCON=mintty.exe exit /b %ERRORLEVEL%
:startmintty
if not defined MSYS2_NOSTART ( :startsh
start "%CONTITLE%" "%WD%mintty" -i "/%CONICON%" -t "%CONTITLE%" "/usr/bin/%LOGINSHELL%" -l !SHELL_ARGS! set MSYSCON=
) else ( if not defined MSYS2_NOSTART (
"%WD%mintty" -i "/%CONICON%" -t "%CONTITLE%" "/usr/bin/%LOGINSHELL%" -l !SHELL_ARGS! start "%CONTITLE%" "%WD%\%LOGINSHELL%" --login !SHELL_ARGS!
) ) else (
exit /b %ERRORLEVEL% "%WD%\%LOGINSHELL%" --login !SHELL_ARGS!
)
:startconemu exit /b %ERRORLEVEL%
call :conemudetect || (
echo ConEmu not found. Exiting. 1>&2 :EOF
exit /b 1 exit /b 0
)
if not defined MSYS2_NOSTART ( :conemudetect
start "%CONTITLE%" "%ComEmuCommand%" /Here /Icon "%WD%..\..\%CONICON%" /cmd "%WD%\%LOGINSHELL%" -l !SHELL_ARGS! set ComEmuCommand=
) else ( if defined ConEmuDir (
"%ComEmuCommand%" /Here /Icon "%WD%..\..\%CONICON%" /cmd "%WD%\%LOGINSHELL%" -l !SHELL_ARGS! if exist "%ConEmuDir%\ConEmu64.exe" (
) set "ComEmuCommand=%ConEmuDir%\ConEmu64.exe"
exit /b %ERRORLEVEL% set MSYSCON=conemu64.exe
) else if exist "%ConEmuDir%\ConEmu.exe" (
:startsh set "ComEmuCommand=%ConEmuDir%\ConEmu.exe"
set MSYSCON= set MSYSCON=conemu.exe
if not defined MSYS2_NOSTART ( )
start "%CONTITLE%" "%WD%\%LOGINSHELL%" -l !SHELL_ARGS! )
) else ( if not defined ComEmuCommand (
"%WD%\%LOGINSHELL%" -l !SHELL_ARGS! ConEmu64.exe /Exit 2>nul && (
) set ComEmuCommand=ConEmu64.exe
exit /b %ERRORLEVEL% set MSYSCON=conemu64.exe
) || (
:EOF ConEmu.exe /Exit 2>nul && (
exit /b 0 set ComEmuCommand=ConEmu.exe
set MSYSCON=conemu.exe
:conemudetect )
set ComEmuCommand= )
if defined ConEmuDir ( )
if exist "%ConEmuDir%\ConEmu64.exe" ( if not defined ComEmuCommand (
set "ComEmuCommand=%ConEmuDir%\ConEmu64.exe" FOR /F "tokens=*" %%A IN ('reg.exe QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\ConEmu64.exe" /ve 2^>nul ^| find "REG_SZ"') DO (
set MSYSCON=conemu64.exe set "ComEmuCommand=%%A"
) else if exist "%ConEmuDir%\ConEmu.exe" ( )
set "ComEmuCommand=%ConEmuDir%\ConEmu.exe" if defined ComEmuCommand (
set MSYSCON=conemu.exe call set "ComEmuCommand=%%ComEmuCommand:*REG_SZ =%%"
) set MSYSCON=conemu64.exe
) ) else (
if not defined ComEmuCommand ( FOR /F "tokens=*" %%A IN ('reg.exe QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\ConEmu.exe" /ve 2^>nul ^| find "REG_SZ"') DO (
ConEmu64.exe /Exit 2>nul && ( set "ComEmuCommand=%%A"
set ComEmuCommand=ConEmu64.exe )
set MSYSCON=conemu64.exe if defined ComEmuCommand (
) || ( call set "ComEmuCommand=%%ComEmuCommand:*REG_SZ =%%"
ConEmu.exe /Exit 2>nul && ( set MSYSCON=conemu.exe
set ComEmuCommand=ConEmu.exe )
set MSYSCON=conemu.exe )
) )
) if not defined ComEmuCommand exit /b 2
) exit /b 0
if not defined ComEmuCommand (
FOR /F "tokens=*" %%A IN ('reg.exe QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\ConEmu64.exe" /ve 2^>nul ^| find "REG_SZ"') DO ( :printhelp
set "ComEmuCommand=%%A" echo Usage:
) echo %~1 [options] [login shell parameters]
if defined ComEmuCommand ( echo.
call set "ComEmuCommand=%%ComEmuCommand:*REG_SZ =%%" echo Options:
set MSYSCON=conemu64.exe echo -mingw32 ^| -mingw64 ^| -msys[2] Set shell type
) else ( echo -defterm ^| -mintty ^| -conemu Set terminal type
FOR /F "tokens=*" %%A IN ('reg.exe QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\ConEmu.exe" /ve 2^>nul ^| find "REG_SZ"') DO ( echo -here Use current directory as working
set "ComEmuCommand=%%A" echo directory
) echo -where DIRECTORY Use specified DIRECTORY as working
if defined ComEmuCommand ( echo directory
call set "ComEmuCommand=%%ComEmuCommand:*REG_SZ =%%" echo -[use-]full-path Use full current PATH variable
set MSYSCON=conemu.exe echo instead of trimming to minimal
) echo -no-start Do not use "start" command and
) echo return login shell resulting
) echo errorcode as this batch file
if not defined ComEmuCommand exit /b 2 echo resulting errorcode
exit /b 0 echo -shell SHELL Set login shell
echo -help ^| --help ^| -? ^| /? Display this help and exit
:printhelp echo.
echo Usage: echo Any parameter that cannot be treated as valid option and all
echo %~1 [options] [login shell parameters] echo following parameters are passed as login shell command parameters.
echo. echo.
echo Options: exit /b 0
echo -mingw32 ^| -mingw64 ^| -ucrt64 ^| -clang64 ^| -msys[2] Set shell type
echo -defterm ^| -mintty ^| -conemu Set terminal type :removequotes
echo -here Use current directory as working FOR /F "delims=" %%A IN ('echo %%%1%%') DO set %1=%%~A
echo directory GOTO :eof
echo -where DIRECTORY Use specified DIRECTORY as working
echo directory :substituteparens
echo -[use-]full-path Use full current PATH variable SETLOCAL
echo instead of trimming to minimal FOR /F "delims=" %%A IN ('echo %%%1%%') DO (
echo -no-start Do not use "start" command and set value=%%A
echo return login shell resulting set value=!value:^(=x!
echo errorcode as this batch file set value=!value:^)=x!
echo resulting errorcode )
echo -shell SHELL Set login shell ENDLOCAL & set %1=%value%
echo -help ^| --help ^| -? ^| /? Display this help and exit GOTO :eof
echo.
echo Any parameter that cannot be treated as valid option and all
echo following parameters are passed as login shell command parameters.
echo.
exit /b 0
:removequotes
FOR /F "delims=" %%A IN ('echo %%%1%%') DO set %1=%%~A
GOTO :eof
:substituteparens
SETLOCAL
FOR /F "delims=" %%A IN ('echo %%%1%%') DO (
set value=%%A
set value=!value:^(=x!
set value=!value:^)=x!
)
ENDLOCAL & set %1=%value%
GOTO :eof

0
msys2/opt/.dummy Normal file
View file

View file

@ -0,0 +1,23 @@
export PSVERSION="3.7.3"
export LANG=en_US.UTF-8
export PS1='\[\033]0;ProxSpace v$PSVERSION - $MSYSTEM:\w\007\033[32m\]pm3 \[\033[33m\]\w\[\033[0m\]$ '
export PATH=/ps/bin:$PATH
alias ls='ls -hF --color=auto'
if [ -f /ps/bin/ps-upgrade.new ]; then
rm /ps/bin/ps-upgrade
mv /ps/bin/ps-upgrade.new /ps/bin/ps-upgrade
fi
if [ \( ! -f /ps/installed64.txt -a "$MSYSTEM" == "MINGW64" \) ]; then
if [ "$MAYBE_FIRST_START" = "true" ]; then
yes | pacman -Syuu
else
if [ -z "$PSSKIPRANKING" ]; then
ps-rankmirrors
fi
yes | pacman -Su
ps-setup
fi
fi

View file

@ -78,7 +78,7 @@ function build_rrg {
copy_shell copy_shell
#Copy contents of the autobuild folder #Copy contents of the autobuild folder
cp -r /setup/autobuild/rrg/* "$dstDir" cp -r /ps/autobuild/rrg/* "$dstDir"
#Copy the client and additional files #Copy the client and additional files
cp -r $srcDir/client/{proxmark3.exe,lualibs,luascripts,cmdscripts,dictionaries,resources} "$dstDir/client" cp -r $srcDir/client/{proxmark3.exe,lualibs,luascripts,cmdscripts,dictionaries,resources} "$dstDir/client"
@ -97,7 +97,7 @@ function build_official {
copy_common copy_common
#Copy contents of the autobuild folder #Copy contents of the autobuild folder
cp -r /setup/autobuild/official/* "$dstDir" cp -r /ps/autobuild/official/* "$dstDir"
#Copy the client and additional files #Copy the client and additional files
cp -r $srcDir/client/{proxmark3.exe,flasher.exe,*.dic,lualibs,scripts,hardnested} "$dstDir/client" cp -r $srcDir/client/{proxmark3.exe,flasher.exe,*.dic,lualibs,scripts,hardnested} "$dstDir/client"
@ -120,7 +120,7 @@ function loop_folders {
if check_for_updates; then if check_for_updates; then
#Build rrg #Build rrg
if [ -f "pm3" ]; then if [ -f "rdv40.txt" ]; then
build_rrg build_rrg
else else
build_official build_official

View file

@ -0,0 +1,6 @@
@echo off
set HOME=%~dp0
set QT_PLUGIN_PATH=%HOME%\libs\
set QT_QPA_PLATFORM_PLUGIN_PATH=%QT_PLUGIN_PATH%
set PATH=%QT_PLUGIN_PATH%;%QT_PLUGIN_PATH%shell\;%PATH%
set MSYSTEM=MINGW64

View file

@ -0,0 +1,7 @@
@echo off
cd client
call setup.bat
::If you want to force the COM port use the -p parameter, example:
::bash pm3-flash-all -p COM3
bash pm3-flash-all
pause

View file

@ -0,0 +1,7 @@
@echo off
cd client
call setup.bat
::If you want to force the COM port use the -p parameter, example:
::bash pm3-flash-bootrom -p COM3
bash pm3-flash-bootrom
pause

View file

@ -0,0 +1,7 @@
@echo off
cd client
call setup.bat
::If you want to force the COM port use the -p parameter, example:
::bash pm3-flash-fullimage -p COM3
bash pm3-flash-fullimage
pause

View file

@ -1,5 +1,5 @@
@echo off @echo off
cd "%~dp0client" cd client
call setup.bat call setup.bat
::If you want to force the COM port use the -p parameter, example: ::If you want to force the COM port use the -p parameter, example:
::bash pm3 -p COM3 ::bash pm3 -p COM3

View file

@ -9,8 +9,7 @@ ps_print "Arch: $MSYSTEM_CARCH"
ps_print "OS: $(wmic OS get Caption,CSDVersion,OSArchitecture,Version | awk 'NR==2')" ps_print "OS: $(wmic OS get Caption,CSDVersion,OSArchitecture,Version | awk 'NR==2')"
ps_print "CPU: $(wmic CPU get Name | awk 'NR==2')" ps_print "CPU: $(wmic CPU get Name | awk 'NR==2')"
ps_print "Ram: $(wmic COMPUTERSYSTEM get TotalPhysicalMemory | awk 'NR==2')" ps_print "Ram: $(wmic COMPUTERSYSTEM get TotalPhysicalMemory | awk 'NR==2')"
ps_print "InstallDate: $PSINSTALLDATE" ps_print "Installed64: $(cat /ps/installed64.txt)"
ps_print "InstallPath: $PSINSTALLPATH"
ps_print "OLDPWD: $OLDPWD" ps_print "OLDPWD: $OLDPWD"
ps_print "Path: $PATH" ps_print "Path: $PATH"
ps_print "arm-none-eabi-gcc: $(arm-none-eabi-gcc -dumpversion)" ps_print "arm-none-eabi-gcc: $(arm-none-eabi-gcc -dumpversion)"
@ -18,4 +17,4 @@ ps_print "gcc: $(gcc -dumpversion)"
ps_print "git: $(git --version)" ps_print "git: $(git --version)"
ps_print "make: $(make -v)" ps_print "make: $(make -v)"
ps_print "pkg-config: $(pkg-config --version)" ps_print "pkg-config: $(pkg-config --version)"
ps_print "Qt: $(qmake --version)" ps_print "Qt: $(qmake --version)"

19
msys2/ps/bin/ps-setup Normal file
View file

@ -0,0 +1,19 @@
check_install () {
echo "Installing: $1"
pacman -Q $1 > /dev/null
if [ $? == 1 ]; then
pacman --noconfirm --overwrite='*' -S $1
fi
}
setup_proxspace ()
{
if [ "$MSYSTEM" == "MINGW64" ]; then
for pkg in $(grep "^[^#;]" /ps/packages.txt); do
check_install $pkg
done
echo $(date '+%Y-%m-%d %H:%M:%S') > /ps/installed64.txt
fi
}
setup_proxspace

17
msys2/ps/bin/ps-upgrade Normal file
View file

@ -0,0 +1,17 @@
rm /ps/installed64.txt &> /dev/null
git clone https://github.com/Gator96100/ProxSpace.git /ps-upgrade
mv /ps-upgrade/msys2/ps/bin/ps-upgrade /ps-upgrade/msys2/ps/bin/ps-upgrade.new
if [ "$#" -ne 0 ]; then
cd /ps-upgrade
git checkout $@
fi
shopt -s extglob
cd /ps
rm -rf -- !(bin)
cd /ps/bin
rm -rf -- !(ps-upgrade)
cp -R /ps-upgrade/msys2/ps /
rm -rf /ps-upgrade
yes | pacman -Syuu
echo "Please restart ProxSpace"
sleep infinity

View file

@ -6,7 +6,6 @@ make
pkg-config pkg-config
mingw-w64-x86_64-cmake mingw-w64-x86_64-cmake
procps procps
base-devel
############################## ##############################
# Proxmark3 # # Proxmark3 #
############################## ##############################
@ -14,21 +13,15 @@ mingw-w64-x86_64-gcc
mingw-w64-x86_64-arm-none-eabi-gcc mingw-w64-x86_64-arm-none-eabi-gcc
mingw-w64-x86_64-arm-none-eabi-gdb mingw-w64-x86_64-arm-none-eabi-gdb
mingw-w64-x86_64-arm-none-eabi-binutils mingw-w64-x86_64-arm-none-eabi-binutils
mingw-w64-x86_64-arm-none-eabi-newlib
mingw-w64-x86_64-readline mingw-w64-x86_64-readline
mingw-w64-x86_64-libsndfile mingw-w64-x86_64-libsndfile
mingw-w64-x86_64-lua mingw-w64-x86_64-lua
mingw-w64-x86_64-bzip2 mingw-w64-x86_64-bzip2
mingw-w64-x86_64-python mingw-w64-x86_64-python
mingw-w64-x86_64-python-pip
mingw-w64-x86_64-python-setuptools
mingw-w64-x86_64-jansson mingw-w64-x86_64-jansson
mingw-w64-x86_64-qt5-base mingw-w64-x86_64-qt5
mingw-w64-x86_64-gdb mingw-w64-x86_64-gdb
mingw-w64-x86_64-openocd mingw-w64-x86_64-openocd
mingw-w64-x86_64-opencl-icd
mingw-w64-x86_64-lz4
mingw-w64-x86_64-libgd
############################## ##############################
# ChameleonMini # # ChameleonMini #
############################## ##############################

85
msys2/ps/pacman.conf Normal file
View file

@ -0,0 +1,85 @@
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
HoldPkg = pacman
#XferCommand = /usr/bin/curl -C - -f %u > %o
XferCommand = /usr/bin/wget --passive-ftp --tries=3 --timeout=5 -c -O %o %u
#CleanMethod = KeepInstalled
#UseDelta = 0.7
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
# Misc options
#UseSyslog
Color
#TotalDownload
CheckSpace
#VerbosePkgLists
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
#SigLevel = Never
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.
#
# REPOSITORIES
# - can be defined here or included from another file
# - pacman will search repositories in the order defined here
# - local/custom mirrors can be added here or in separate files
# - repositories listed first will take precedence when packages
# have identical names, regardless of version number
# - URLs will have $repo replaced by the name of the current repo
# - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
# [repo-name]
# Server = ServerName
# Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#
# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.
[mingw32]
Include = /etc/pacman.d/mirrorlist.mingw32
[mingw64]
Include = /etc/pacman.d/mirrorlist.mingw64
[msys]
Include = /etc/pacman.d/mirrorlist.msys
# An example of a custom package repository. See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

18
msys2/ps/setup.cmd Normal file
View file

@ -0,0 +1,18 @@
@echo off
SET PATH=%cd%\msys2\usr\bin;%PATH%
copy /Y %cd%\msys2\ps\*.post %cd%\msys2\etc\post-install\ >NUL
copy /Y %cd%\msys2\ps\*.conf %cd%\msys2\etc\ >NUL
echo # For a description of the file format, see the Users Guide >%cd%\msys2/etc/fstab
echo # http://cygwin.com/cygwin-ug-net/using.html#mount-table >>%cd%\msys2/etc/fstab
echo none / cygdrive binary,posix=0,noacl,user 0 0 >>%cd%\msys2/etc/fstab
echo %cd%\pm3 /pm3 ntfs noacl 0 0 >>%cd%\msys2/etc/fstab
dash /usr/bin/rebaseall -p 2> nul
mkdir %cd%\msys2\tmp 2> nul
del %cd%\msys2\etc\passwd 2> nul
del %cd%\msys2\etc\group 2> nul
touch /etc/passwd
touch /etc/group
bash /ps/startup_checks.sh
bash /ps/user_setup.sh

View file

@ -0,0 +1,13 @@
#!/bin/bash
#Check for an invalid ProxSpace path
if ! (echo "$PWD" | grep -Eq ^[a-zA-Z0-9\/\._\-]+$) ; then
echo "Error: Install path contains special characters!"
sleep infinity
fi
#Using git to download ProxSpace will cause an installation error
if [ -d "$PWD/.git" ]; then
echo "Error: Do not use Git to download ProxSpace!"
sleep infinity
fi

0
msys2/tmp/.dummy Normal file
View file

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

View file

@ -1,5 +0,0 @@
#MSYS=winsymlinks:nativestrict
#MSYS=error_start:mingw64/bin/qtcreator.exe|-debug|<process-id>
#CHERE_INVOKING=1
#MSYS2_PATH_TYPE=inherit
MSYSTEM=UCRT64

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# #
# Copyright (C) 2002-2023 Free Software Foundation, Inc. # Copyright (C) 2002-2016 Free Software Foundation, Inc.
# #
# This program is free software: you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by
@ -13,7 +13,7 @@
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# #
# This file is meant for authors, maintainers, co-maintainers or installers # This file is meant for authors, maintainers, co-maintainers or installers
@ -22,8 +22,8 @@
progname=$0 progname=$0
package=gettext-tools package=gettext-tools
version=0.22 version=0.19.8.1
archive_version=0.22 archive_version=0.19.8
# Set variables # Set variables
# - gettext_datadir directory where the data files are stored. # - gettext_datadir directory where the data files are stored.
@ -197,23 +197,17 @@ Options:
-V version copy the infrastructure of the specified gettext version -V version copy the infrastructure of the specified gettext version
(dangerous)" (dangerous)"
echo " echo "
Report bugs in the bug tracker at <https://savannah.gnu.org/projects/gettext> Report bugs to <bug-gnu-gettext@gnu.org>."
or by email to <bug-gettext@gnu.org>."
} }
# func_version include_config_details # func_version
# outputs to stdout the --version message. # outputs to stdout the --version message.
# Inputs:
# - include_config_details true or false
func_version () func_version ()
{ {
echo "$progname (GNU $package) $version" echo "$progname (GNU $package) $version"
if $1; then echo "Uses a versions archive in dirxz format."
echo "This binary is configured to use a versions archive in dirxz format." echo "Copyright (C) 2002-2013 Free Software Foundation, Inc.
echo License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
fi
echo "Copyright (C) 2002-2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law." There is NO WARRANTY, to the extent permitted by law."
echo "Written by" "Bruno Haible" echo "Written by" "Bruno Haible"
@ -266,12 +260,8 @@ unset CLICOLOR_FORCE GREP_OPTIONS
-V*) # Some people omit the space between -V and the version number. -V*) # Some people omit the space between -V and the version number.
ver=`echo "X$1" | sed -e 's/^X-V//'` ver=`echo "X$1" | sed -e 's/^X-V//'`
shift ;; shift ;;
--version-without-config )
# Print version output without build dependent details.
func_version false
exit 0 ;;
--version | --versio | --versi | --vers | --ver | --ve | --v ) --version | --versio | --versi | --vers | --ver | --ve | --v )
func_version true func_version
exit 0 ;; exit 0 ;;
-- ) # Stop option prcessing -- ) # Stop option prcessing
shift; break ;; shift; break ;;
@ -299,17 +289,17 @@ srcdir=`pwd`
# Check integrity of package: A configure.in/ac must be present. Sets variable # Check integrity of package: A configure.in/ac must be present. Sets variable
# - configure_in name of configure.in/ac file. # - configure_in name of configure.in/ac file.
if test -f configure.ac; then if test -f configure.in; then
configure_in=configure.ac configure_in=configure.in
else else
if test -f configure.in; then if test -f configure.ac; then
configure_in=configure.in configure_in=configure.ac
else else
# KDE specific convention: configure.in.in # KDE specific convention: configure.in.in
if test -f configure.in.in; then if test -f configure.in.in; then
configure_in=configure.in.in configure_in=configure.in.in
else else
func_fatal_error "Missing configure.ac or configure.in, please cd to your package first." func_fatal_error "Missing configure.in or configure.ac, please cd to your package first."
fi fi
fi fi
fi fi
@ -331,7 +321,7 @@ func_version_prereq ()
req="$1" req="$1"
ver="$2" ver="$2"
echo "m4_if(m4_version_compare([$ver], [$req]), [-1], [m4_exit([1])])" \ echo "m4_if(m4_version_compare([$ver], [$req]), [-1], [m4_exit([1])])" \
| "$AUTOM4TE" --language=M4sugar >/dev/null | "$AUTOM4TE" --language=M4sugar 2>&1 >/dev/null
} }
# If AM_GNU_GETTEXT_REQUIRE_VERSION is used and archive_version is newer than # If AM_GNU_GETTEXT_REQUIRE_VERSION is used and archive_version is newer than
@ -388,10 +378,7 @@ case "$ver" in
0.16 | 0.16.1 | \ 0.16 | 0.16.1 | \
0.17 | \ 0.17 | \
0.18 | 0.18.1 | 0.18.2 | 0.18.3 | \ 0.18 | 0.18.1 | 0.18.2 | 0.18.3 | \
0.19 | 0.19.1 | 0.19.2 | 0.19.3 | 0.19.4 | 0.19.5 | 0.19.6 | 0.19.7 | 0.19.8 | \ 0.19 | 0.19.1 | 0.19.2 | 0.19.3 | 0.19.4 | 0.19.5 | 0.19.6 | 0.19.7 | 0.19.8 )
0.20 | 0.20.2 | \
0.21 | 0.21.1 | \
0.22 )
;; ;;
*) *)
func_fatal_error "The AM_GNU_GETTEXT_VERSION declaration in your $configure_in func_fatal_error "The AM_GNU_GETTEXT_VERSION declaration in your $configure_in
@ -453,13 +440,6 @@ for arg in $xargs; do
done done
IFS="$save_IFS" IFS="$save_IFS"
if test -z "$omitintl"; then
case "$ver" in
0.1[0-9] | 0.1[0-9].* ) ;;
*) func_fatal_error "AM_GNU_GETTEXT without 'external' argument is no longer supported in version $ver" ;;
esac
fi
# Check in which directory or directories the po/* infrastructure belongs. # Check in which directory or directories the po/* infrastructure belongs.
configfiles=`"$func_trace" AC_CONFIG_FILES "$configure_in"` configfiles=`"$func_trace" AC_CONFIG_FILES "$configure_in"`
# PO directories have a Makefile.in generated from Makefile.in.in. # PO directories have a Makefile.in generated from Makefile.in.in.
@ -553,10 +533,10 @@ case "dirxz" in
# #
# But the CVS format is now deprecated, because "cvs init" does not work in # But the CVS format is now deprecated, because "cvs init" does not work in
# all circumstances # all circumstances
# (see <https://lists.gnu.org/archive/html/bug-cvs/2010-05/msg00003.html>) # (see <http://lists.gnu.org/archive/html/bug-cvs/2010-05/msg00003.html>)
# and we are not allowed to distribute the cvs infrastructure files # and we are not allowed to distribute the cvs infrastructure files
# ourselves # ourselves
# (see <https://lists.gnu.org/archive/html/bug-cvs/2010-06/msg00011.html>). # (see <http://lists.gnu.org/archive/html/bug-cvs/2010-06/msg00011.html>).
# #
# Check availability of the CVS program. # Check availability of the CVS program.
(cvs -v) >/dev/null 2>/dev/null || func_fatal_error "cvs program not found" (cvs -v) >/dev/null 2>/dev/null || func_fatal_error "cvs program not found"
@ -630,12 +610,7 @@ case "dirxz" in
(git --version) >/dev/null 2>/dev/null || func_fatal_error "git program not found" (git --version) >/dev/null 2>/dev/null || func_fatal_error "git program not found"
mkdir "$work_dir/archive" mkdir "$work_dir/archive"
gzip -d -c < "$gettext_datadir/archive.git.tar.gz" | (cd "$work_dir/archive" && tar xf -) gzip -d -c < "$gettext_datadir/archive.git.tar.gz" | (cd "$work_dir/archive" && tar xf -)
(unset GIT_CONFIG (cd "$work_dir/archive" && git checkout -q "gettext-$ver") || {
unset XDG_CONFIG_HOME
unset HOME
GIT_CONFIG_NOSYSTEM=1; export GIT_CONFIG_NOSYSTEM
cd "$work_dir/archive" && git checkout -q "gettext-$ver"
) || {
rm -rf "$work_dir" rm -rf "$work_dir"
func_fatal_error "infrastructure files for version $ver not found; this is autopoint from GNU $package $version" func_fatal_error "infrastructure files for version $ver not found; this is autopoint from GNU $package $version"
} }
@ -655,7 +630,7 @@ esac
func_destfile () func_destfile ()
{ {
# There are five categories of files: # There are five categories of files:
# ABOUT-NLS -> top level directory # ABOUT_NLS -> top level directory
# config.rpath mkinstalldirs -> $auxdir # config.rpath mkinstalldirs -> $auxdir
# m4/* -> $m4dir/ # m4/* -> $m4dir/
# intl/* -> intl/ # intl/* -> intl/

Binary file not shown.

Binary file not shown.

View file

@ -1,257 +0,0 @@
#! /bin/sh
# Make backups.
# Copyright 2004-2006, 2013, 2019 Free Software Foundation
# This file is part of GNU tar.
# GNU tar 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.
# GNU tar 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, see <http://www.gnu.org/licenses/>.
# Load library routines
SYSCONFDIR=${SYSCONFDIR-/usr/etc}
. ${LIBDIR-/usr/lib/tar}/backup.sh
DUMP_LEVEL=0
TIME=
NOW=`now`
usage() {
cat - <<EOF
usage: $PROGNAME [OPTIONS] [WHEN]
Options are:
-l, --level=LEVEL Do backup level LEVEL (default $DUMP_LEVEL).
-f, --force Force backup even if today's log file already
exists.
-v, --verbose[=LEVEL] Set verbosity level. Default 100.
-t, --time=TIME Wait till TIME, then do backup.
Informational options:
-h, --help Display this help message.
-V, --version Display program version.
Optional argument WHEN is for backward compatibility only. It has been
superseded by --time option.
TIME argument can be one of:
now -- do backup immediately.
HH -- do backup at HH hours.
HH:MM -- do backup at HH:MM.
Send bug reports to bug-tar@gnu.org.
EOF
}
# For compatibility with previous versions, deduce the backup level
# from the command name
case "$PROGNAME" in
level-[0-9]) DUMP_LEVEL=`expr $PROGNAME : 'level-\([0-9][0-9]*\)'`;;
esac
for opt
do
if [ -z "$prev" ]; then
option=$opt
optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
else
option="${prev}=$opt"
prev=""
optarg=$opt
fi
case $option in
--l=*|--le=*|--lev=*|--leve=*|--level=*)
DUMP_LEVEL=$optarg
;;
-l?*) DUMP_LEVEL=`expr $option : '-l\(.*\)'`;;
-l|--l|--le|--lev|--leve|--level)
prev=--level
;;
--verb=*|--verbo=*|--verbos=*|--verbose=*)
VERBOSE=$optarg
;;
-v|--verb|--verbo|--verbos|--verbose)
VERBOSE=100
;;
-v*) VERBOSE=`expr $option : '-v\(.*\)'`;;
--t=*|--ti=*|--tim=*|--time=*)
TIME=$optarg
;;
-t?*) TIME=`expr $option : '-t\(.*\)'`;;
-t|--t|--ti|--tim|--time)
prev=--time
;;
-V|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "backup (GNU tar) 1.34"
license
exit;;
-h|--h|--he|--hel|--help)
usage
exit;;
-f|--f|--fo|--for|--forc|--force)
FORCE=yes
;;
*) if [ "x$TIME" != "x" ]; then
bailout "Extra argument. Try $PROGNAME --help for more info."
else
TIME=$option
fi;;
esac
done
if [ "x$TIME" = x ]; then
bailout "No backup time specified. Try $PROGNAME --help for more info."
exit 1
fi
init_backup
# Maybe sleep until around specified or default hour.
wait_time $TIME
if [ $DUMP_LEVEL -ne 0 ]; then
PREV_LEVEL=`expr $DUMP_LEVEL - 1`
PREV_DATE=`ls -t ${LOGPATH}/log-*-level-$PREV_LEVEL|
head -n 1|
sed "s,${LOGPATH}/log-\(.*\)-level.*,\1,"`
if [ "x$PREV_DATE" = x ]; then
bailout "Can't determine date of the previous backup"
fi
message 0 "Backup from $PREV_DATE to $NOW"
fi
# start doing things
# Make sure the log file did not already exist. Create it.
if [ "x$FORCE" = "xyes" ]; then
rm ${LOGFILE}
fi
if [ -f "${LOGFILE}" ] ; then
bailout "Log file ${LOGFILE} already exists."
else
touch "${LOGFILE}"
fi
message 1 "Ready for backup."
message 10 "TAR invocation: $TAR_PART1"
message 20 "Variables:"
message 20 "BACKUP_DIRS=$BACKUP_DIRS"
message 20 "BACKUP_FILES=$BACKUP_FILES"
# The bunch of commands below is run in a subshell for which all output is
# piped through 'tee' to the logfile. Doing this, instead of having
# multiple pipelines all over the place, is cleaner and allows access to
# the exit value from various commands more easily.
(
message 1 "preparing tapes"
if ! $MT_BEGIN "${TAPE_FILE}"; then
echo >&2 "$0: tape initialization failed"
exit 1
fi
rm -f "${VOLNO_FILE}"
message 1 "processing backup directories"
set - ${BACKUP_DIRS}
while [ $# -ne 0 ] ; do
date="`date`"
fs="`echo \"${1}\" | sed -e 's/^.*://'`"
fs=`root_fs $fs`
fsname="`echo \"${1}\" | sed -e 's/\//:/g'`"
remotehost="`expr \"${1}\" : '\([^/][^/]*\):.*'`"
if [ -z "$remotehost" ]; then
remotehost=$localhost
fi
echo "Backing up ${1} at ${date}"
message 10 "fs=$fs"
message 10 "fsname=$fsname"
message 10 "remotehost=$remotehost"
if [ $DUMP_LEVEL -eq 0 ]; then
make_level_log ${remotehost}
else
echo "Last `prev_level` dump on this filesystem was on $PREV_DATE"
remote_run "${remotehost}" cp "`level_log_name ${fsname} $PREV_LEVEL`" "`level_log_name temp`"
fi
${DUMP_BEGIN-:} $DUMP_LEVEL $remotehost $fs $fsname
backup_host ${remotehost} \
"--listed=`level_log_name temp`" \
"--label='`print_level` backup of ${fs} on ${remotehost} at ${NOW}'" \
-C ${fs} .
# 'rsh' doesn't exit with the exit status of the remote command. What
# stupid lossage. TODO: think of a reliable workaround.
if [ $? -ne 0 ] ; then
echo "$0: backup of ${1} failed." 1>&2
# I'm assuming that the tar will have written an empty
# file to the tape, otherwise I should do a cat here.
else
flush_level_log ${remotehost} ${fsname}
fi
${MT_STATUS} "$TAPE_FILE"
${DUMP_END-:} $DUMP_LEVEL $remotehost $fs $fsname
echo "sleeping ${SLEEP_TIME} seconds"
sleep ${SLEEP_TIME}
shift
done
# Dump any individual files requested.
if [ "x${BACKUP_FILES}" != "x" ] ; then
message 1 "processing individual files"
date="`date`"
if [ $DUMP_LEVEL -eq 0 ]; then
make_level_log $localhost
else
echo "Last `prev_level` dump on this filesystem was on $PREV_DATE"
remote_run "${localhost}" cp "`level_log_name MISC $PREV_LEVEL`" "`level_log_name temp`"
fi
echo "Backing up miscellaneous files at ${date}"
${DUMP_BEGIN-:} $DUMP_LEVEL $localhost MISC MISC
backup_host $localhost \
"--listed=`level_log_name temp`"\
"--label='`print_level` backup of miscellaneous files at ${NOW}'" \
${BACKUP_FILES}
if [ $? -ne 0 ] ; then
echo "Backup of miscellaneous files failed."
# I'm assuming that the tar will have written an empty
# file to the tape, otherwise I should do a cat here.
else
flush_level_log $localhost MISC
fi
${MT_STATUS} "$TAPE_FILE"
${DUMP_END-:} $DUMP_LEVEL $localhost MISC MISC
else
echo "No miscellaneous files specified"
fi
message 1 "final cleanup"
$MT_REWIND "${TAPE_FILE}"
$MT_OFFLINE "${TAPE_FILE}"
echo "."
) 2>&1 | tee -a "${LOGFILE}"
RC=$?
if test "${ADMINISTRATOR}" != NONE; then
echo "Sending the dump log to ${ADMINISTRATOR}"
mail -s "Results of backup started ${startdate}" ${ADMINISTRATOR} < "${LOGFILE}"
fi
exit $RC
# EOF

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show more