Compare commits

...

23 commits

Author SHA1 Message Date
Marcos Del Sol Vives
d18e382ef8
Added new GD dependency (#55) 2024-01-15 22:34:17 +01:00
Gator96100
d91cde20bb Disable mirror ranking by default 2023-09-22 00:45:35 +02:00
Gator96100
200666ba52 Increased version number 2023-09-22 00:39:58 +02:00
Gator96100
fae8d7e6a7 Updated the required package list 2023-09-22 00:39:11 +02:00
Gator96100
3ecafa4835 Updated to msys2-base-x86_64-20230718 2023-09-22 00:10:50 +02:00
Gator96100
818333091b
Switched to the pm3 file to detect for rrg repo 2023-09-17 00:45:55 +02:00
Gator96100
6d004fe5dc Fixes for python 2021-08-10 00:30:17 +02:00
Gator96100
f9d8cb61ef delete pm3 folder for release 2021-08-09 23:36:12 +02:00
Gator96100
fed9f0b637 don't override XferCommand 2021-08-09 23:22:42 +02:00
Gator96100
af0981da9f updated readme 2021-08-09 23:12:36 +02:00
Gator96100
193d93c932 Restore mirror list for releases 2021-08-09 23:12:00 +02:00
Gator96100
936e5adb61 Added cleanup script for releases 2021-08-09 22:54:13 +02:00
Gator96100
c2e63cc348 Added ps-restoremirrors command 2021-08-09 22:13:26 +02:00
Gator96100
5a265cc30a reinstall in case ProxSpace has been moved 2021-08-09 22:13:04 +02:00
Gator96100
f5b0b45b39 set the correct line endings for git 2021-08-09 20:40:51 +02:00
Gator96100
eabf954258 Updated to msys2-base-x86_64-20210725 2021-08-09 20:13:52 +02:00
Gator96100
81b9354e75 Autobuild fixes for path with spaces 2021-05-23 15:01:35 +02:00
Gator96100
981e8849fc Autobuild, fixed client path 2021-05-22 00:28:18 +02:00
Gator96100
d096c4086a
V3.9 (#44)
Updated msys2 base to 20210228
2021-04-11 00:58:03 +02:00
Gator96100
2810268fa3 updated readme 2021-04-09 17:04:38 +02:00
Gator96100
f448104228 Moved ps folder outside the msys2 folder 2021-04-09 16:58:53 +02:00
Gator96100
36d6f8f8c7 Added opencl for the hitag2crack tool 2021-04-09 15:04:41 +02:00
Gator96100
3063e7b193 Attempt to make ProxSpace newbie proof. 2021-03-31 00:30:30 +02:00
12591 changed files with 229959 additions and 614656 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.
- `runme64.bat` will start ProxSpace in x64 mode.
- `autobuild.bat` runs a script (msys2/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 (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.
## What's installed
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 will automatically download and update to the latest required packages. All tools will be contained within the ProxSpace folder.
ProxSpace is based on:
- msys2-x86_64-20210215
- msys2-x86_64-20210725
Following packages will be automatically download or updated:
- arm-none-eabi-gcc
@ -32,27 +32,28 @@ ProxSpace is based on:
- jansson
## 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 (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)
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)
## Installation
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.
* 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.
* 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 release](https://github.com/Gator96100/ProxSpace/releases). This ProxSpace environment is prepared for a fast installation, all packages are already cached.
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.
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`.
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`.
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`.
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 `./client/proxmark3.exe COM1` where COM1 is the USB port of the Proxmark III.
8. To run the Proxmark III client type `./pm3`.
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`.
## Firmware upgrading the Proxmark III
Please note that more detail is available on the wiki: https://github.com/Proxmark/proxmark3/wiki
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
1. Attach the Proxmark III to a USB port on your computer.
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. Wait for the process to complete.
2. Flash the bootrom with `./pm3-flash-bootrom`.
3. Flash the fullimage with `./pm3-flash-fullimage`.
4. Wait for the process to complete.
## 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")

View file

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

View file

@ -1,15 +0,0 @@
@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

BIN
msys2/clang32.exe Normal file

Binary file not shown.

BIN
msys2/clang32.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

5
msys2/clang32.ini Normal file
View file

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

View file

@ -1,21 +0,0 @@
# 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

BIN
msys2/clang64.exe Normal file

Binary file not shown.

BIN
msys2/clang64.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

5
msys2/clang64.ini Normal file
View file

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

View file

@ -1,21 +0,0 @@
# 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

BIN
msys2/clangarm64.exe Normal file

Binary file not shown.

BIN
msys2/clangarm64.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

5
msys2/clangarm64.ini Normal file
View file

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

View file

View file

@ -1,15 +0,0 @@
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,8 +54,12 @@ if [[ -n "$(command -v getent)" ]] && id -G | grep -q "$(getent -w group 'S-1-16
then _ps1_symbol='\[\e[1m\]#\[\e[0m\]'
else _ps1_symbol='\$'
fi
[[ $(declare -p PS1 2>/dev/null | cut -c 1-11) = 'declare -x ' ]] || \
case "$(declare -p PS1 2>/dev/null)" in
'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}"' '
;;
esac
unset _ps1_symbol
# Uncomment to use the terminal colours set in DIR_COLORS

View file

@ -2,40 +2,20 @@
# Original author: Karlson2k (Evgeny Grin)
# Written for MSys2 to help running 'configure' scripts
# 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
# Defaults for MSys2/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_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 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}" && \
${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

103
msys2/etc/inputrc Normal file
View file

@ -0,0 +1,103 @@
# 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

View file

@ -8,9 +8,10 @@
#
#-- 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'
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')
@ -22,19 +23,11 @@ DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %
#-- The package required by makepkg to download VCS sources
# Format: 'protocol::package'
VCSCLIENTS=('bzr::bzr'
'fossil::fossil'
'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
#########################################################################
@ -45,9 +38,11 @@ CHOST="x86_64-pc-msys"
#-- Compiler and Linker Flags
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CC=gcc
CXX=g++
CPPFLAGS=
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"
CFLAGS="-march=nocona -msahf -mtune=generic -O2 -pipe"
CXXFLAGS="-march=nocona -msahf -mtune=generic -O2 -pipe"
LDFLAGS="-pipe"
#-- Make Flags: change this for DistCC/SMP systems
MAKEFLAGS="-j$(($(nproc)+1))"
@ -59,7 +54,7 @@ DEBUG_CXXFLAGS="-ggdb -Og"
# BUILD ENVIRONMENT
#########################################################################
#
# Defaults: BUILDENV=(fakeroot !distcc color !ccache check !sign)
# 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
@ -82,7 +77,7 @@ BUILDENV=(!distcc color !ccache check !sign)
# These are default values for the options=() settings
#########################################################################
#
# Default: OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug)
# 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
@ -93,11 +88,12 @@ BUILDENV=(!distcc color !ccache check !sign)
#-- 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)
OPTIONS=(strip docs !libtool staticlibs emptydirs zipman purge !debug !lto)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
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.
@ -148,10 +144,12 @@ 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'
SRCEXT='.src.tar.zst'
# vim: set ft=sh ts=2 sw=2 et:
#########################################################################
# OTHER
#########################################################################
#
#-- Command used to run pacman as root, instead of trying sudo and su
PACMAN_AUTH=()

View file

@ -1,171 +0,0 @@
#
# /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="mingw-w64-clang-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,--no-seh"
#-- 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

@ -1,171 +0,0 @@
#
# /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="mingw-w64-clang-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"
#-- 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

@ -0,0 +1,227 @@
#
# /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

@ -1,173 +0,0 @@
#
# /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

@ -1,173 +0,0 @@
#
# /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,--default-image-base-high"
# 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,8 +20,6 @@ unset MINGW_CHOST
unset MINGW_PREFIX
unset MINGW_PACKAGE_PREFIX
unset CONFIG_SITE
case "${MSYSTEM}" in
MINGW32)
MSYSTEM_PREFIX='/mingw32'
@ -30,8 +28,7 @@ case "${MSYSTEM}" in
MINGW_CHOST="${MSYSTEM_CHOST}"
MINGW_PREFIX="${MSYSTEM_PREFIX}"
MINGW_PACKAGE_PREFIX="mingw-w64-${MSYSTEM_CARCH}"
CONFIG_SITE="${MSYSTEM_PREFIX}/etc/config.site"
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX CONFIG_SITE
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX
;;
MINGW64)
MSYSTEM_PREFIX='/mingw64'
@ -40,8 +37,7 @@ case "${MSYSTEM}" in
MINGW_CHOST="${MSYSTEM_CHOST}"
MINGW_PREFIX="${MSYSTEM_PREFIX}"
MINGW_PACKAGE_PREFIX="mingw-w64-${MSYSTEM_CARCH}"
CONFIG_SITE="${MSYSTEM_PREFIX}/etc/config.site"
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX CONFIG_SITE
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX
;;
CLANG32)
MSYSTEM_PREFIX='/clang32'
@ -50,8 +46,7 @@ case "${MSYSTEM}" in
MINGW_CHOST="${MSYSTEM_CHOST}"
MINGW_PREFIX="${MSYSTEM_PREFIX}"
MINGW_PACKAGE_PREFIX="mingw-w64-clang-${MSYSTEM_CARCH}"
CONFIG_SITE="${MSYSTEM_PREFIX}/etc/config.site"
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX CONFIG_SITE
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX
;;
CLANG64)
MSYSTEM_PREFIX='/clang64'
@ -60,14 +55,30 @@ case "${MSYSTEM}" in
MINGW_CHOST="${MSYSTEM_CHOST}"
MINGW_PREFIX="${MSYSTEM_PREFIX}"
MINGW_PACKAGE_PREFIX="mingw-w64-clang-${MSYSTEM_CARCH}"
CONFIG_SITE="${MSYSTEM_PREFIX}/etc/config.site"
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX CONFIG_SITE
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_CARCH="$(/usr/bin/uname -m)"
MSYSTEM_CHOST="$(/usr/bin/uname -m)-pc-msys"
CONFIG_SITE="/etc/config.site"
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST CONFIG_SITE
MSYSTEM_CHOST="${MSYSTEM_CARCH}-pc-msys"
export MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST
;;
esac

View file

@ -44,8 +44,7 @@
## Do case-sensitive searches by default.
# set casesensitive
## Constantly display the cursor position in the status bar. Note that
## this overrides "quickblank".
## Constantly display the cursor position in the status bar or minibar.
# set constantshow
## Use cut-from-cursor-to-end-of-line by default.
@ -59,6 +58,10 @@
## 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
@ -79,15 +82,19 @@
## Fall back to slow libmagic to try and determine an applicable syntax.
# set magic
## The opening and closing brackets that can be found by bracket
## searches. They cannot contain blank characters. The former set must
## come before the latter set, and both must be in the same order.
## 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.
## 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
@ -115,14 +122,12 @@
## Preserve the XON and XOFF keys (^Q and ^S).
# set preserve
## The characters treated as closing punctuation when justifying
## paragraphs. They cannot contain blank characters. Only closing
## punctuation, optionally followed by closing brackets, can end
## sentences.
## 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 "!.?"
## Do quick status-bar blanking. Status-bar messages will disappear after
## 1 keystroke instead of 26. Note that "constantshow" overrides this.
## Make status-bar messages disappear after 1 keystroke instead of after 20.
# set quickblank
## The regular expression that matches quoting characters in email
@ -141,18 +146,17 @@
## Save a changed buffer automatically on exit; don't prompt.
# set saveonexit
## (The old form of this option, 'set tempfile', is deprecated.)
## 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.
## 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
## 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
## beginning of the line.
## 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.
@ -166,19 +170,18 @@
## M = mark, L = hard-wrapping long lines, R = recording, S = soft-wrapping.
# set stateflags
## Allow nano to be suspended (with ^Z by default).
# set suspendable
## (The old form of this option, 'set suspend', is deprecated.)
## Use this tab size instead of the default; it must be greater than 0.
# set tabsize 8
## Convert typed tabs to spaces.
## 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.
@ -200,11 +203,17 @@
## of a single character, and without affecting the cutbuffer).
# set zap
## Paint the interface elements of nano. These are examples;
## by default there are no colors, except for errorcolor.
# set titlecolor bold,lightwhite,blue
# set statuscolor bold,lightwhite,green
# set errorcolor bold,lightwhite,red
## 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
@ -213,9 +222,11 @@
# set functioncolor green
## In root's .nanorc you might want to use:
# set titlecolor bold,lightwhite,magenta
# set statuscolor bold,lightwhite,magenta
# set errorcolor bold,lightwhite,red
# 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
@ -250,6 +261,9 @@
## === 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
@ -259,13 +273,39 @@
## <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
@ -273,23 +313,19 @@
#bind ^B wherewas all
#bind ^D findprevious all
#bind ^R replace main
#bind M-X flipnewbuffer all
#bind ^X cut all
#bind ^C copy main
#bind ^V paste all
#bind ^P location main
#bind ^A mark main
#unbind ^K 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 ^Y speller main
#bind M-U undo main
#bind M-R redo main
#bind ^U undo main
#bind ^E redo main
#set multibuffer
#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

6
msys2/etc/os-release Normal file
View file

@ -0,0 +1,6 @@
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/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
HoldPkg = pacman
HoldPkg = pacman
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
@ -29,22 +29,19 @@ Architecture = auto
# Misc options
#UseSyslog
#Color
#TotalDownload
Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
ParallelDownloads = 5
# 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
SigLevel = Required
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
@ -68,11 +65,28 @@ LocalFileSigLevel = Optional
# repo name header and Include lines. You can add preferred servers immediately
# 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]
Include = /etc/pacman.d/mirrorlist.mingw32
Include = /etc/pacman.d/mirrorlist.mingw
[mingw64]
Include = /etc/pacman.d/mirrorlist.mingw64
Include = /etc/pacman.d/mirrorlist.mingw
[ucrt64]
Include = /etc/pacman.d/mirrorlist.mingw
[clang32]
Include = /etc/pacman.d/mirrorlist.mingw
[clang64]
Include = /etc/pacman.d/mirrorlist.mingw
[msys]
Include = /etc/pacman.d/mirrorlist.msys

View file

@ -0,0 +1,40 @@
# 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

@ -0,0 +1,40 @@
# 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

@ -0,0 +1,40 @@
# 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,26 +1,40 @@
##
## 32-bit Mingw-w64 repository mirrorlist
##
# See https://www.msys2.org/dev/mirrors
## Primary
## msys2.org
Server = https://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686/
Server = https://www2.futureware.at/~nickoe/msys2-mirror/mingw/i686/
Server = https://mirror.msys2.org/mingw/i686/
Server = https://repo.msys2.org/mingw/i686/
## Tier 1
Server = https://mirror.umd.edu/msys2/mingw/i686/
Server = https://mirror.yandex.ru/mirrors/msys2/mingw/i686/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686/
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/
Server = http://mirror.bit.edu.cn/msys2/mingw/i686/
Server = https://mirror.selfnet.de/msys2/mingw/i686/
Server = https://mirrors.sjtug.sjtu.edu.cn/msys2/mingw/i686/
Server = https://mirror.jmu.edu/pub/msys2/mingw/i686/
Server = https://ftp.cc.uoc.gr/mirrors/msys2/mingw/i686/
Server = https://ftp.acc.umu.se/mirror/msys2.org/mingw/i686/
Server = https://mirrors.piconets.webwerks.in/msys2-mirror/mingw/i686/
Server = https://quantum-mirror.hu/mirrors/pub/msys2/mingw/i686/
Server = https://mirrors.dotsrc.org/msys2/mingw/i686/
Server = https://mirror.ufro.cl/msys2/mingw/i686/
Server = https://mirror.clarkson.edu/msys2/mingw/i686/
Server = https://ftp.nluug.nl/pub/os/windows/msys2/builds/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://mirrors.sjtug.sjtu.edu.cn/msys2/mingw/i686/
Server = https://mirrors.bit.edu.cn/msys2/mingw/i686/
Server = https://repo.casualgamer.ca/mingw/i686/
Server = https://mirrors.aliyun.com/msys2/mingw/i686/
Server = https://mirror.iscas.ac.cn/msys2/mingw/i686/
Server = https://mirrors.tencent.com/msys2/mingw/i686/

View file

@ -1,26 +1,40 @@
##
## 64-bit Mingw-w64 repository mirrorlist
##
# See https://www.msys2.org/dev/mirrors
## Primary
## msys2.org
Server = https://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64/
Server = https://www2.futureware.at/~nickoe/msys2-mirror/mingw/x86_64/
Server = https://mirror.msys2.org/mingw/x86_64/
Server = https://repo.msys2.org/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://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64/
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
Server = http://mirror.bit.edu.cn/msys2/mingw/x86_64/
Server = https://mirror.selfnet.de/msys2/mingw/x86_64/
Server = https://mirrors.sjtug.sjtu.edu.cn/msys2/mingw/x86_64/
Server = https://mirror.jmu.edu/pub/msys2/mingw/x86_64/
Server = https://ftp.cc.uoc.gr/mirrors/msys2/mingw/x86_64/
Server = https://ftp.acc.umu.se/mirror/msys2.org/mingw/x86_64/
Server = https://mirrors.piconets.webwerks.in/msys2-mirror/mingw/x86_64/
Server = https://quantum-mirror.hu/mirrors/pub/msys2/mingw/x86_64/
Server = https://mirrors.dotsrc.org/msys2/mingw/x86_64/
Server = https://mirror.ufro.cl/msys2/mingw/x86_64/
Server = https://mirror.clarkson.edu/msys2/mingw/x86_64/
Server = https://ftp.nluug.nl/pub/os/windows/msys2/builds/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://mirrors.sjtug.sjtu.edu.cn/msys2/mingw/x86_64/
Server = https://mirrors.bit.edu.cn/msys2/mingw/x86_64/
Server = https://repo.casualgamer.ca/mingw/x86_64/
Server = https://mirrors.aliyun.com/msys2/mingw/x86_64/
Server = https://mirror.iscas.ac.cn/msys2/mingw/x86_64/
Server = https://mirrors.tencent.com/msys2/mingw/x86_64/

View file

@ -1,26 +1,40 @@
##
## MSYS2 repository mirrorlist
##
# See https://www.msys2.org/dev/mirrors
## Primary
## msys2.org
Server = https://downloads.sourceforge.net/project/msys2/REPOS/MSYS2/$arch/
Server = https://www2.futureware.at/~nickoe/msys2-mirror/msys/$arch/
Server = https://mirror.msys2.org/msys/$arch/
Server = https://repo.msys2.org/msys/$arch/
## Tier 1
Server = https://mirror.umd.edu/msys2/msys/$arch/
Server = https://mirror.yandex.ru/mirrors/msys2/msys/$arch/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch/
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/
Server = http://mirror.bit.edu.cn/msys2/msys/$arch/
Server = https://mirror.selfnet.de/msys2/msys/$arch/
Server = https://mirrors.sjtug.sjtu.edu.cn/msys2/msys/$arch/
Server = https://mirror.jmu.edu/pub/msys2/msys/$arch/
Server = https://ftp.cc.uoc.gr/mirrors/msys2/msys/$arch/
Server = https://ftp.acc.umu.se/mirror/msys2.org/msys/$arch/
Server = https://mirrors.piconets.webwerks.in/msys2-mirror/msys/$arch/
Server = https://quantum-mirror.hu/mirrors/pub/msys2/msys/$arch/
Server = https://mirrors.dotsrc.org/msys2/msys/$arch/
Server = https://mirror.ufro.cl/msys2/msys/$arch/
Server = https://mirror.clarkson.edu/msys2/msys/$arch/
Server = https://ftp.nluug.nl/pub/os/windows/msys2/builds/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://mirrors.sjtug.sjtu.edu.cn/msys2/msys/$arch/
Server = https://mirrors.bit.edu.cn/msys2/msys/$arch/
Server = https://repo.casualgamer.ca/msys/$arch/
Server = https://mirrors.aliyun.com/msys2/msys/$arch/
Server = https://mirror.iscas.ac.cn/msys2/msys/$arch/
Server = https://mirrors.tencent.com/msys2/msys/$arch/

View file

@ -0,0 +1,40 @@
# 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,31 +1,6 @@
maybe_create_devs ()
{
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)
if [ -e "${DEVDIR}/shm" -a ! -d "${DEVDIR}/shm" ]
@ -44,7 +19,7 @@ maybe_create_devs ()
# Create it if necessary
if [ ! -e "${DEVDIR}/shm" ]
then
mkdir -m 1777 "${DEVDIR}/shm"
mkdir "${DEVDIR}/shm"
if [ ! -e "${DEVDIR}/shm" ]
then
echo
@ -71,7 +46,7 @@ maybe_create_devs ()
# Create it if necessary
if [ ! -e "${DEVDIR}/mqueue" ]
then
mkdir -m 1777 "${DEVDIR}/mqueue"
mkdir "${DEVDIR}/mqueue"
if [ ! -e "${DEVDIR}/mqueue" ]
then
echo
@ -80,13 +55,6 @@ maybe_create_devs ()
echo
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

View file

@ -1,27 +1,26 @@
maybe_create_winetc ()
{
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=
for mketc in ${FILES}
do
if [ ! -e "/etc/${mketc}" -a ! -L "/etc/${mketc}" ]
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
local WFILE="${WINETC}\\$(exec expr substr "${mketc}" 1 8)"
/usr/bin/cp -p -v "${WFILE}" "/etc/${mketc}"
fi
done
/usr/bin/chmod 1777 /tmp 2>/dev/null
}
maybe_create_winetc

View file

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

View file

@ -1,12 +0,0 @@
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,19 +47,29 @@ esac
unset MINGW_MOUNT_POINT
. '/etc/msystem'
case "${MSYSTEM}" in
MINGW*|CLANG*)
MINGW*|CLANG*|UCRT*)
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"
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"
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}}"
PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig"
esac
CONFIG_SITE="/etc/config.site"
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}"
# TMP and TEMP as defined in the Windows environment must be kept
@ -67,18 +77,8 @@ SYSCONFDIR="${SYSCONFDIR:=/etc}"
# them set to the default Windows temporary directory or unset
# can have unexpected consequences for msys2 apps, so we define
# 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_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"
TEMP="/tmp"
@ -90,14 +90,6 @@ if [ -e "${p}" ] ; then
fi
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
profile_d ()
{
@ -146,30 +138,10 @@ then
export ACLOCAL_PATH
fi
export PATH MANPATH INFOPATH PKG_CONFIG_PATH USER TMP TEMP PRINTER HOSTNAME PS1 SHELL tmp temp ORIGINAL_TMP ORIGINAL_TEMP ORIGINAL_PATH
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
unset PATH_SEPARATOR
if [ "$MAYBE_FIRST_START" = "true" ]; then
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
printf "\e[1;32mInitial setup complete. MSYS2 is now ready to use.\e[1;0m\n" 1>&2;
fi
unset MAYBE_FIRST_START

View file

@ -0,0 +1,27 @@
# 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

@ -1,114 +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/>.
# ~/.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,26 +27,3 @@ if [ -n "${BASH_VERSION}" ]; then
source "${HOME}/.bashrc"
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: 25 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Before After
Before After

View file

@ -1,21 +0,0 @@
# 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: 25 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Before After
Before After

View file

@ -1,21 +0,0 @@
# 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: 25 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Before After
Before After

View file

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

View file

View file

@ -1,23 +0,0 @@
export PSVERSION="3.8"
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

@ -1,6 +0,0 @@
@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

@ -1,23 +0,0 @@
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
python3 -m pip install ansicolors sslcrypto
yes | pacman -Sc
echo $(date '+%Y-%m-%d %H:%M:%S') > /ps/installed64.txt
fi
}
setup_proxspace

View file

@ -1,17 +0,0 @@
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

@ -1,85 +0,0 @@
#
# /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

View file

@ -1,18 +0,0 @@
@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

@ -1,13 +0,0 @@
#!/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

View file

BIN
msys2/ucrt64.exe Normal file

Binary file not shown.

BIN
msys2/ucrt64.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

5
msys2/ucrt64.ini Normal file
View file

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

Binary file not shown.

Binary file not shown.

257
msys2/usr/bin/backup Normal file
View file

@ -0,0 +1,257 @@
#! /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.

View file

@ -4,10 +4,10 @@
#
# The bug address depends on the release status of the shell. Versions
# with status `devel', `alpha', `beta', or `rc' mail bug reports to
# chet@cwru.edu and, optionally, to bash-testers@cwru.edu.
# chet.ramey@case.edu and, optionally, to bash-testers@cwru.edu.
# Other versions send mail to bug-bash@gnu.org.
#
# Copyright (C) 1996-2020 Free Software Foundation, Inc.
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
#
# 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
@ -29,9 +29,9 @@
MACHINE="x86_64"
OS="msys"
CC="gcc"
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -D_STATIC_BUILD "
RELEASE="5.1"
PATCHLEVEL="4"
CFLAGS="-march=nocona -msahf -mtune=generic -O2 -pipe -D_STATIC_BUILD"
RELEASE="5.2"
PATCHLEVEL="15"
RELSTATUS="release"
MACHTYPE="x86_64-pc-msys"
@ -102,7 +102,7 @@ esac
BASHTESTERS="bash-testers@cwru.edu"
case "$RELSTATUS" in
alpha*|beta*|devel*|rc*) BUGBASH=chet@cwru.edu ;;
alpha*|beta*|devel*|rc*) BUGBASH=chet.ramey@case.edu ;;
*) BUGBASH=bug-bash@gnu.org ;;
esac
@ -132,6 +132,10 @@ if [ -z "$DEFEDITOR" ] && [ -z "$EDITOR" ]; then
DEFEDITOR=emacs
elif [ -x /usr/bin/xemacs ]; then
DEFEDITOR=xemacs
elif [ -x /usr/bin/vim; then
DEFEDITOR=vim
elif [ -x /usr/bin/gvim; then
DEFEDITOR=gvim
elif [ -x /usr/bin/nano ]; then
DEFEDITOR=nano
elif [ -x /usr/contrib/bin/jove ]; then

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -2,9 +2,9 @@
# WARNING: do not edit!
# Generated by Makefile from tools/c_rehash.in
# Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved.
# Copyright 1999-2022 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the OpenSSL license (the "License"). You may not use
# Licensed under the Apache License 2.0 (the "License"). You may not use
# this file except in compliance with the License. You can obtain a copy
# in the file LICENSE in the source distribution or at
# https://www.openssl.org/source/license.html
@ -22,7 +22,7 @@ my $x509hash = "-subject_hash";
my $crlhash = "-hash";
my $verbose = 0;
my $symlink_exists=eval {symlink("",""); 1};
if ($^O eq "msys") { $symlink_exists=0 };
$symlink_exists=0;
my $removelinks = 1;
## Parse flags.
@ -30,35 +30,35 @@ while ( $ARGV[0] =~ /^-/ ) {
my $flag = shift @ARGV;
last if ( $flag eq '--');
if ( $flag eq '-old') {
$x509hash = "-subject_hash_old";
$crlhash = "-hash_old";
$x509hash = "-subject_hash_old";
$crlhash = "-hash_old";
} elsif ( $flag eq '-h' || $flag eq '-help' ) {
help();
help();
} elsif ( $flag eq '-n' ) {
$removelinks = 0;
$removelinks = 0;
} elsif ( $flag eq '-v' ) {
$verbose++;
$verbose++;
}
else {
print STDERR "Usage error; try -h.\n";
exit 1;
print STDERR "Usage error; try -h.\n";
exit 1;
}
}
sub help {
print "Usage: c_rehash [-old] [-h] [-help] [-v] [dirs...]\n";
print " -old use old-style digest\n";
print " -h or -help print this help text\n";
print " -v print files removed and linked\n";
exit 0;
print "Usage: c_rehash [-old] [-h] [-help] [-v] [dirs...]\n";
print " -old use old-style digest\n";
print " -h or -help print this help text\n";
print " -v print files removed and linked\n";
exit 0;
}
eval "require Cwd";
if (defined(&Cwd::getcwd)) {
$pwd=Cwd::getcwd();
$pwd=Cwd::getcwd();
} else {
$pwd=`pwd`;
chomp($pwd);
$pwd=`pwd`;
chomp($pwd);
}
# DOS/Win32 or Unix delimiter? Prefix our installdir, then search.
@ -66,94 +66,137 @@ my $path_delim = ($pwd =~ /^[a-z]\:/i) ? ';' : ':';
$ENV{PATH} = "$prefix/bin" . ($ENV{PATH} ? $path_delim . $ENV{PATH} : "");
if (! -x $openssl) {
my $found = 0;
foreach (split /$path_delim/, $ENV{PATH}) {
if (-x "$_/$openssl") {
$found = 1;
$openssl = "$_/$openssl";
last;
}
}
if ($found == 0) {
print STDERR "c_rehash: rehashing skipped ('openssl' program not available)\n";
exit 0;
}
my $found = 0;
foreach (split /$path_delim/, $ENV{PATH}) {
if (-x "$_/$openssl") {
$found = 1;
$openssl = "$_/$openssl";
last;
}
}
if ($found == 0) {
print STDERR "c_rehash: rehashing skipped ('openssl' program not available)\n";
exit 0;
}
}
if (@ARGV) {
@dirlist = @ARGV;
@dirlist = @ARGV;
} elsif ($ENV{SSL_CERT_DIR}) {
@dirlist = split /$path_delim/, $ENV{SSL_CERT_DIR};
@dirlist = split /$path_delim/, $ENV{SSL_CERT_DIR};
} else {
$dirlist[0] = "$dir/certs";
$dirlist[0] = "$dir/certs";
}
if (-d $dirlist[0]) {
chdir $dirlist[0];
$openssl="$pwd/$openssl" if (!-x $openssl);
chdir $pwd;
chdir $dirlist[0];
$openssl="$pwd/$openssl" if (!-x $openssl);
chdir $pwd;
}
foreach (@dirlist) {
if (-d $_ ) {
if ( -w $_) {
hash_dir($_);
} else {
print "Skipping $_, can't write\n";
$errorcount++;
}
}
if (-d $_ ) {
if ( -w $_) {
hash_dir($_);
} else {
print "Skipping $_, can't write\n";
$errorcount++;
}
}
}
exit($errorcount);
sub copy_file {
my ($src_fname, $dst_fname) = @_;
if (open(my $in, "<", $src_fname)) {
if (open(my $out, ">", $dst_fname)) {
print $out $_ while (<$in>);
close $out;
} else {
warn "Cannot open $dst_fname for write, $!";
}
close $in;
} else {
warn "Cannot open $src_fname for read, $!";
}
}
sub hash_dir {
my %hashlist;
print "Doing $_[0]\n";
chdir $_[0];
opendir(DIR, ".");
my @flist = sort readdir(DIR);
closedir DIR;
if ( $removelinks ) {
# Delete any existing symbolic links
foreach (grep {/^[\da-f]+\.r{0,1}\d+$/} @flist) {
if (-l $_) {
print "unlink $_" if $verbose;
unlink $_ || warn "Can't unlink $_, $!\n";
}
}
}
FILE: foreach $fname (grep {/\.(pem)|(crt)|(cer)|(crl)$/} @flist) {
# Check to see if certificates and/or CRLs present.
my ($cert, $crl) = check_file($fname);
if (!$cert && !$crl) {
print STDERR "WARNING: $fname does not contain a certificate or CRL: skipping\n";
next;
}
link_hash_cert($fname) if ($cert);
link_hash_crl($fname) if ($crl);
}
my $dir = shift;
my %hashlist;
print "Doing $dir\n";
if (!chdir $dir) {
print STDERR "WARNING: Cannot chdir to '$dir', $!\n";
return;
}
opendir(DIR, ".") || print STDERR "WARNING: Cannot opendir '.', $!\n";
my @flist = sort readdir(DIR);
closedir DIR;
if ( $removelinks ) {
# Delete any existing symbolic links
foreach (grep {/^[\da-f]+\.r{0,1}\d+$/} @flist) {
if (-l $_) {
print "unlink $_\n" if $verbose;
unlink $_ || warn "Can't unlink $_, $!\n";
}
}
}
FILE: foreach $fname (grep {/\.(pem|crt|cer|crl)$/} @flist) {
# Check to see if certificates and/or CRLs present.
my ($cert, $crl) = check_file($fname);
if (!$cert && !$crl) {
print STDERR "WARNING: $fname does not contain a certificate or CRL: skipping\n";
next;
}
link_hash_cert($fname) if ($cert);
link_hash_crl($fname) if ($crl);
}
chdir $pwd;
}
sub check_file {
my ($is_cert, $is_crl) = (0,0);
my $fname = $_[0];
open IN, $fname;
while(<IN>) {
if (/^-----BEGIN (.*)-----/) {
my $hdr = $1;
if ($hdr =~ /^(X509 |TRUSTED |)CERTIFICATE$/) {
$is_cert = 1;
last if ($is_crl);
} elsif ($hdr eq "X509 CRL") {
$is_crl = 1;
last if ($is_cert);
}
}
}
close IN;
return ($is_cert, $is_crl);
my ($is_cert, $is_crl) = (0,0);
my $fname = $_[0];
open(my $in, "<", $fname);
while(<$in>) {
if (/^-----BEGIN (.*)-----/) {
my $hdr = $1;
if ($hdr =~ /^(X509 |TRUSTED |)CERTIFICATE$/) {
$is_cert = 1;
last if ($is_crl);
} elsif ($hdr eq "X509 CRL") {
$is_crl = 1;
last if ($is_cert);
}
}
}
close $in;
return ($is_cert, $is_crl);
}
sub compute_hash {
my $fh;
if ( $^O eq "VMS" ) {
# VMS uses the open through shell
# The file names are safe there and list form is unsupported
if (!open($fh, "-|", join(' ', @_))) {
print STDERR "Cannot compute hash on '$fname'\n";
return;
}
} else {
if (!open($fh, "-|", @_)) {
print STDERR "Cannot compute hash on '$fname'\n";
return;
}
}
return (<$fh>, <$fh>);
}
# Link a certificate to its subject name hash value, each hash is of
# the form <hash>.<n> where n is an integer. If the hash value already exists
@ -162,72 +205,49 @@ sub check_file {
# certificate fingerprints
sub link_hash_cert {
my $fname = $_[0];
$fname =~ s/'/'\\''/g;
my ($hash, $fprint) = `"$openssl" x509 $x509hash -fingerprint -noout -in "$fname"`;
chomp $hash;
chomp $fprint;
$fprint =~ s/^.*=//;
$fprint =~ tr/://d;
my $suffix = 0;
# Search for an unused hash filename
while(exists $hashlist{"$hash.$suffix"}) {
# Hash matches: if fingerprint matches its a duplicate cert
if ($hashlist{"$hash.$suffix"} eq $fprint) {
print STDERR "WARNING: Skipping duplicate certificate $fname\n";
return;
}
$suffix++;
}
$hash .= ".$suffix";
if ($symlink_exists) {
print "link $fname -> $hash\n" if $verbose;
symlink $fname, $hash || warn "Can't symlink, $!";
} else {
print "copy $fname -> $hash\n" if $verbose;
if (open($in, "<", $fname)) {
if (open($out,">", $hash)) {
print $out $_ while (<$in>);
close $out;
} else {
warn "can't open $hash for write, $!";
}
close $in;
} else {
warn "can't open $fname for read, $!";
}
}
$hashlist{$hash} = $fprint;
link_hash($_[0], 'cert');
}
# Same as above except for a CRL. CRL links are of the form <hash>.r<n>
sub link_hash_crl {
my $fname = $_[0];
$fname =~ s/'/'\\''/g;
my ($hash, $fprint) = `"$openssl" crl $crlhash -fingerprint -noout -in '$fname'`;
chomp $hash;
chomp $fprint;
$fprint =~ s/^.*=//;
$fprint =~ tr/://d;
my $suffix = 0;
# Search for an unused hash filename
while(exists $hashlist{"$hash.r$suffix"}) {
# Hash matches: if fingerprint matches its a duplicate cert
if ($hashlist{"$hash.r$suffix"} eq $fprint) {
print STDERR "WARNING: Skipping duplicate CRL $fname\n";
return;
}
$suffix++;
}
$hash .= ".r$suffix";
if ($symlink_exists) {
print "link $fname -> $hash\n" if $verbose;
symlink $fname, $hash || warn "Can't symlink, $!";
} else {
print "cp $fname -> $hash\n" if $verbose;
system ("cp", $fname, $hash);
warn "Can't copy, $!" if ($? >> 8) != 0;
}
$hashlist{$hash} = $fprint;
link_hash($_[0], 'crl');
}
sub link_hash {
my ($fname, $type) = @_;
my $is_cert = $type eq 'cert';
my ($hash, $fprint) = compute_hash($openssl,
$is_cert ? "x509" : "crl",
$is_cert ? $x509hash : $crlhash,
"-fingerprint", "-noout",
"-in", $fname);
chomp $hash;
$hash =~ s/^.*=// if !$is_cert;
chomp $fprint;
return if !$hash;
$fprint =~ s/^.*=//;
$fprint =~ tr/://d;
my $suffix = 0;
# Search for an unused hash filename
my $crlmark = $is_cert ? "" : "r";
while(exists $hashlist{"$hash.$crlmark$suffix"}) {
# Hash matches: if fingerprint matches its a duplicate cert
if ($hashlist{"$hash.$crlmark$suffix"} eq $fprint) {
my $what = $is_cert ? 'certificate' : 'CRL';
print STDERR "WARNING: Skipping duplicate $what $fname\n";
return;
}
$suffix++;
}
$hash .= ".$crlmark$suffix";
if ($symlink_exists) {
print "link $fname -> $hash\n" if $verbose;
symlink $fname, $hash || warn "Can't symlink, $!";
} else {
print "copy $fname -> $hash\n" if $verbose;
copy_file($fname, $hash);
}
$hashlist{$hash} = $fprint;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -19,36 +19,63 @@
#
declare -r myname='checkupdates'
declare -r myver='1.4.0'
declare -r myver='1.9.1'
LIBRARY=${LIBRARY:-'/usr/share/makepkg'}
DOWNLOAD_CACHE=0
USE_COLOR=0
USE_COLOR='y'
# Import libmakepkg
source "$LIBRARY"/util/message.sh
source "$LIBRARY"/util/parseopts.sh
die() {
error "$@"
exit 1
}
runcmd() {
if (( EUID != 0 )); then
msg 'Escalating privileges using sudo'
if sudo -v &>/dev/null && sudo -l &>/dev/null; then
sudo "$@"
else
die 'Failed to escalate'
fi
else
"$@"
fi
}
usage() {
cat << __EOF__
cat <<EOF
${myname} v${myver}
Safely print a list of pending updates
Safely print a list of pending updates.
Usage: ${myname} [options]
Options:
-d, --download download pending updates to the pacman cache.
-h, --help display this help message and exit.
Options:
-d, --download download pending updates to the pacman cache
--nocolor do not colorize output
-n, --nosync do not sync the temporary database
-h, --help display this help message and exit
-V, --version display version information and exit
Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.
__EOF__
Environment Variables:
CHECKUPDATES_DB override the path of the temporary database
(default: "\${TMPDIR:-/tmp}/checkup-db-\${UID}")
TMPDIR override the temporary directory (default: '/tmp')
EOF
}
OPT_SHORT='dh'
OPT_LONG=('download' 'help' 'nocolor')
version() {
printf "%s %s\n" "$myname" "$myver"
}
OPT_SHORT='dnhV'
OPT_LONG=('download' 'nosync' 'help' 'nocolor' 'version')
if ! parseopts "$OPT_SHORT" "${OPT_LONG[@]}" -- "$@"; then
exit 1
@ -56,15 +83,21 @@ fi
set -- "${OPTRET[@]}"
unset OPT_SHORT OPT_LONG OPTRET
SYNC=1
while :; do
case $1 in
-d|--download)
DOWNLOAD_CACHE=1 ;;
--nocolor)
USE_COLOR='n';;
-n|--nosync)
SYNC=0 ;;
-h|--help)
usage
exit 0 ;;
--nocolor)
USE_COLOR='n';;
-V|--version)
version
exit 0 ;;
--)
shift
break ;;
@ -90,21 +123,20 @@ if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then
DBPath="/var/lib/pacman/"
fi
mkdir -p "$CHECKUPDATES_DB"
ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null
if ! pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then
error 'Cannot fetch updates'
exit 1
if (( ${SYNC} )); then
mkdir -p "$CHECKUPDATES_DB"
ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null
if ! pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then
die 'Cannot fetch updates'
fi
fi
mapfile -t updates < <(pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]')
if (( ${#updates[@]} )); then
printf '%s\n' "${updates[@]}"
if (( DOWNLOAD_CACHE )); then
sudo pacman -Sw --noconfirm "${updates[@]%% *}" --dbpath "$CHECKUPDATES_DB" --logfile /dev/null
runcmd pacman -Sw --noconfirm "${updates[@]%% *}" --dbpath "$CHECKUPDATES_DB" --logfile /dev/null
fi
else
exit 2
fi
# vim: set noet:

Binary file not shown.

Binary file not shown.

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