This commit is contained in:
Nathan 2022-01-13 21:20:47 -06:00
parent 7b7aafcbf1
commit 1a438ea922
59 changed files with 5528 additions and 6 deletions

View file

@ -11,10 +11,10 @@ Package-List:
artools deb misc medium arch=any
Checksums-Sha1:
3488d9b1c0df03c5188d3a674ee7b80c15334a38 50212 artools_0.26.1.orig.tar.gz
c2e3186f98d828643ea578e90ae06faeb333acf0 3120 artools_0.26.1-1.debian.tar.xz
2a75e55fd0479c91dada1e1a5c4d8f4b96d0fcd5 3700 artools_0.26.1-1.debian.tar.xz
Checksums-Sha256:
11fdef1e63cd0c7a3a9ecdeec718a3353352ff9e76a331b4063eebc72a922c49 50212 artools_0.26.1.orig.tar.gz
ece637cbbc4d848645e9ced13b172491bb568bd4de58f7c430ba5153d6bce0b4 3120 artools_0.26.1-1.debian.tar.xz
854bcf289703af94eab93689d1f214fa2543cfcd46413ae8d9668ef2d016ec4b 3700 artools_0.26.1-1.debian.tar.xz
Files:
9a46f2694252377d63db7b559a69acaf 50212 artools_0.26.1.orig.tar.gz
e70c91924cc3b7842c75b66bdff72561 3120 artools_0.26.1-1.debian.tar.xz
233443456877973253cc2811323f3cb8 3700 artools_0.26.1-1.debian.tar.xz

11
pacman-contrib/1.4.0/.gitignore vendored Normal file
View file

@ -0,0 +1,11 @@
Makefile
Makefile.in
aclocal.m4
autom4te.cache/
compile
config.*
configure
depcomp
install-sh
missing
test-driver

View file

@ -0,0 +1,5 @@
<polyzen@archlinux.org> <polycitizen@gmail.com>
<polyzen@archlinux.org> <polyzen@archlinux.info>
Daniel Parks <danielrparks@gmail.com> Daniel Parks via pacman-contrib <pacman-contrib@lists.archlinux.org>
Denton Liu <liu.denton@gmail.com> Denton Liu via pacman-contrib <pacman-contrib@lists.archlinux.org>
Eli Schwartz <eschwartz@archlinux.org> Eli Schwartz via pacman-contrib <pacman-contrib@lists.archlinux.org>

View file

@ -0,0 +1,11 @@
Maintainers
-----------
* Johannes Löthberg <johannes@kyriasis.com>
* Daniel M. Capella <polyzen@archlinux.org>
Contributors
------------
Use `git shortlog -s` for a list of contributors.

View file

@ -0,0 +1,124 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
- pacman-syncdb: systemd service and timer for `pacman -Fy`
- Rename `pacman -Fy` units to pacman-filesdb-refresh from pacman-syncdb and simplify descriptions
### Changed
### Fixed
## [1.4.0] - 2020-07-28
### Added
- pactree: Add --debug (2d13a236)
- pactree: Add --gpgdir, set the gpg directory (a4e69cac)
- pactree: introduce the --optional flag (FS#61336) (b6d08b40)
### Changed
- doc: make timestamps in man pages reproducible (e2a5e43b)
- paccache.service.in: Reword description to more clearly specify what it does (269a2cdc)
### Fixed
- pactree: Improve command line validation (FS#64589) (e77e13b0)
- pactree: Fix redundant arrows in Graphviz output (c7be8631)
- doc: Fix pacdiff option descriptions (cf683ca0)
- vim: Add missing highlight links for b2sums (a1e7a764)
- paccache: Support cleaning many thousands of candidates (547a66d5)
## [1.3.0] - 2019-12-25
### Added
- Add document describing the release procedures. (21449e3)
- vim: Add Unlicense as valid license. (f835547)
### Changed
- checkupdates: Use $UID instead of $USER in the tempdir path. (a8b342e)
- checkupdates, paccache, and pacdiff were ported to libmakepkg. (431e564)
### Fixed
- checkupdates: Exit with 2 if there are no updates available. (3da550e)
- rankmirrors: Fix parsing of -m argument. (d026415)
- updpkgsums: Use makepkg's checksum algorithm type specification, fixing support for b2sums. (c8ef727)
- vim: Recognize validpgpkeys variable. (e6950d3)
## [1.2.0] - 2019-10-06
### Added
- checkupdates: Add option for downloading updates. (ab69666)
- docs: Add manpages for checkupdates, pacdiff, pacsort, updpkgsums. (d25a8b2, 35eef6b, ef63784, b258c31)
- paccache: Add --age-atime and --age-mtime arguments. (45c1916)
- vim: Add indent file. (020b533)
- vim: Add b2sums to PKGBUILD syntax file. (fc21909)
- Vim: Add Boost and MPL2 as valid licenses. (b5cb1ce)
### Changed
- paclist: Allow listing packages from multiple repos at once. (58bfa06)
- paclist: Also list packages where the installed version differ from the repo version. (4849211)
- vim: Remove version check for Vim older than 6.0 from PKGBUILD syntax file. (b4ae0e5)
- checkupdates, paccache, pacdiff: Don't use colors on a dumb terminal. (c57d275)
### Fixed
- pacccache: Fix parsing of --move argument. (9ebae18)
- pacdiff: Don't assume the DBPath has a trailing slash. (0c260d3)
- pacsort: Support all compression formats supported by `makepkg`. (aa22e5c)
- vim: Add `unknown` license special case to PKGBUILD syntax file. (6193d12)
## [1.1.0] - 2018-08-05
### Added
- paccache: Add manpage.
- rankmirrors: Add --max-time flag to specify the timeout used.
### Changed
- pacscripts: Don't log to pacman.log when files are downloaded to the cache.
- pacscripts: Find package file path using pacman instead of doing it manually ourselves.
- pactree: Use full dependency string when finding dependencies, since if we don't use the version requirement part of the string, we will sometimes return the wrong results.
- vim/ftplugin/PKGBUILD: Set vim 'commentstring' option
- vim/syntax/PKGBUILD: Add sha224sums support.
### Fixed
- pacsort: Fix short version option.
## [1.0.0] - 2018-05-28
### Added
- `--version` option to pactree.
- Import pacsort utility.
- systemd service and timer for paccache.
### Changed
- Make pacscripts use `-v` as the short flag for version output instead of `-V`, in accordance with its documentation.
### Fixed
- checkupdates now reports failures to update the databases.
- Add `-v` to pacsort help output.
## 0.0.1 - 2016-10-17
### Added
- Imported the following utilities:
- checkupdates
- paccache
- pacdiff
- paclist
- paclog-pkglist
- pacscripts
- pacsearch
- pactree
- rankmirrors
- updpkgsums
- Added vim highlighting for PKGBUILDs.
[Unreleased]: https://gitlab.archlinux.org/pacman/pacman-contrib/-/compare/v1.4.0...master
[1.0.0]: https://gitlab.archlinux.org/pacman/pacman-contrib/-/compare/v0.0.1...v1.0.0
[1.1.0]: https://gitlab.archlinux.org/pacman/pacman-contrib/-/compare/v1.0.0...v1.1.0
[1.2.0]: https://gitlab.archlinux.org/pacman/pacman-contrib/-/compare/v1.0.1...v1.2.0
[1.3.0]: https://gitlab.archlinux.org/pacman/pacman-contrib/-/compare/v1.0.2...v1.3.0
[1.4.0]: https://gitlab.archlinux.org/pacman/pacman-contrib/-/compare/v1.0.3...v1.4.0

View file

@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

View file

@ -0,0 +1,20 @@
SUBDIRS = src lib test
if WANT_DOC
SUBDIRS += doc
endif
DIST_SUBDIRS = $(SUBDIRS)
DISTCHECK_CONFIGURE_FLAGS = --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-doc --disable-git-version
EXTRA_DIST = README.md AUTHORS.md
TESTS = \
test/pacsorttest.sh
TEST_SUITE_LOG = test/test-suite.log
AM_TESTS_ENVIRONMENT = \
PMTEST_BIN_DIR=$(top_builddir)/src/; export PMTEST_BIN_DIR;
LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) \
$(top_srcdir)/build-aux/tap-driver.sh

View file

@ -0,0 +1,47 @@
pacman-contrib
==============
This repository contains contributed scripts to pacman.
*Note*: This used to be part of pacman.git, but was moved out to make pacman maintenance easier.
How to build:
-------------
./autogen.sh
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var
make
make check
make install DESTDIR="$pkgdir"
Scripts available in this repository:
-------------------------------------
* checkupdates - print a list of pending updates without touching the system
sync databases (for safety on rolling release distributions).
* paccache - a flexible package cache cleaning utility that allows greater
control over which packages are removed.
* pacdiff - a simple pacnew/pacsave updater for /etc/.
* paclist - list all packages installed from a given repository. Useful for seeing
which packages you may have installed from the testing repository,
for instance.
* paclog-pkglist - lists currently installs packages based pacman's log.
* pacscripts - tries to print out the {pre,post}\_{install,remove,upgrade}
scripts of a given package.
* pacsearch - a colorized search combining both -Ss and -Qs output. Installed
packages are easily identified with a `[installed]`, and
local-only packages are also listed.
* rankmirrors - ranks pacman mirrors by their connection and opening speed.
* updpkgsums - performs an in-place update of the checksums in a PKGBUILD.

View file

@ -0,0 +1,3 @@
#!/bin/bash -x
autoreconf -i

View file

@ -0,0 +1,200 @@
AC_INIT([pacman-contrib], [1.4.0], [pacman-contrib@lists.archlinux.org])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([build-aux])
AC_REQUIRE_AUX_FILE([tap-driver.sh])
AM_INIT_AUTOMAKE([-Wall foreign])
# Help line for root directory
AC_ARG_WITH(root-dir,
AS_HELP_STRING([--with-root-dir=PATH], [set the location of the root operating directory]),
[ROOTDIR=$withval], [ROOTDIR=/])
# Help line for vim runtime directory
AC_ARG_WITH(vim-dir,
[AS_HELP_STRING([--with-vim-dir=PATH], [set the location of the vim runtime file directory])],
[vim_dir=$withval], [vim_dir=$datadir/vim/vimfiles])
# Help line for documentation
AC_ARG_ENABLE(doc,
AS_HELP_STRING([--disable-doc], [prevent make from looking at doc/ dir]),
[wantdoc=$enableval], [wantdoc=yes])
# Help line for debug
AC_ARG_ENABLE(debug,
AS_HELP_STRING([--enable-debug], [enable debugging support]),
[debug=$enableval], [debug=no])
# Help line for compiler warning flags
AC_ARG_ENABLE(warningflags,
AS_HELP_STRING([--enable-warningflags], [enable extra compiler warning flags]),
[warningflags=$enableval], [warningflags=no])
# Help line for using git version in pacman version string
AC_ARG_ENABLE(git-version,
AS_HELP_STRING([--enable-git-version],
[enable use of git version in version string if available]),
[wantgitver=$enableval], [wantgitver=no])
# Checks for programs.
AC_PROG_CC
AC_PROG_CC_C99
AC_PATH_PROGS([BASH_SHELL], [bash bash4], [false])
AS_IF([test "x$BASH_SHELL" = "xfalse"],
AC_MSG_WARN([*** bash >= 4.1.0 is required for pacman scripts]),
[bash_version_major=`$BASH_SHELL -c 'echo "${BASH_VERSINFO[[0]]}"'`
bash_version_minor=`$BASH_SHELL -c 'echo "${BASH_VERSINFO[[1]]}"'`
ok=yes
if test "$bash_version_major" -lt 4; then
ok=no
fi
if test "$bash_version_major" -eq 4 && test "$bash_version_minor" -lt 1; then
ok=no
fi
if test "$ok" = "no"; then
AC_MSG_ERROR([*** bash >= 4.1.0 is required for pacman scripts])
fi
unset bash_version_major bash_version_minor ok])
# Check for libarchive
PKG_CHECK_MODULES(LIBARCHIVE, [libarchive >= 2.8.0], ,
AC_MSG_ERROR([*** libarchive >= 2.8.0 is needed to build pacman-contrib!]))
# Check for libalpm
PKG_CHECK_MODULES(LIBALPM, [libalpm], ,
AC_MSG_ERROR([*** libalpm is needed to build pacman-contrib!]))
PKG_CHECK_VAR(LIBMAKEPKGDIR, [libmakepkg], [libmakepkgdir], ,
AC_MSG_ERROR([*** libmakepkg is needed to build pacman-contrib!]))
AC_SUBST(LIBMAKEPKGDIR)
# Enable or disable use of git version in version string
AC_MSG_CHECKING(whether to use git version if available)
if test "x$wantgitver" = "xyes" ; then
AC_CHECK_PROGS([GIT], [git])
AC_CHECK_FILE([.git/], hasgitdir=yes)
usegitver=$ac_cv_file__git_
if test $GIT -a "x$hasgitdir" = "xyes"; then
AC_DEFINE([USE_GIT_VERSION], , [Use GIT version in version string])
fi
else
AC_MSG_RESULT([no, disabled by configure])
usegitver=no
fi
AM_CONDITIONAL(USE_GIT_VERSION, test "x$usegitver" = "xyes")
# Set root directory
AC_SUBST(ROOTDIR)
AC_DEFINE_UNQUOTED([ROOTDIR], "$ROOTDIR", [The location of the root operating directory])
# Set vim directory
AC_SUBST(vim_dir)
AC_DEFINE_UNQUOTED([vim_dir], "$vim_dir", [The location of the vim runtime file directory])
SIZECMD="stat -c %s"
AC_SUBST(SIZECMD)
# Check for documentation support and status
AC_CHECK_PROGS([ASCIIDOC], [asciidoc])
AC_MSG_CHECKING([for building documentation])
if test "x$wantdoc" = "xyes" ; then
if test $ASCIIDOC ; then
AC_MSG_RESULT([yes, enabled by configure])
else
asciidoc="(warning : asciidoc not installed)"
AC_MSG_RESULT([yes $asciidoc])
fi
wantdoc=yes
else
AC_MSG_RESULT([no, disabled by configure])
wantdoc=no
fi
AM_CONDITIONAL(WANT_DOC, test "x$wantdoc" = "xyes")
# Enable or disable debug code
if test "x$debug" = "xyes" ; then
AC_MSG_RESULT(yes)
GCC_STACK_PROTECT_LIB
GCC_STACK_PROTECT_CC
GCC_FORTIFY_SOURCE_CC
WARNING_CFLAGS="-g -Wall -Werror"
else
AC_MSG_RESULT(no)
WARNING_CFLAGS="-Wall"
fi
# Enable or disable compiler warning flags
AC_MSG_CHECKING(for excessive compiler warning flags)
if test "x$warningflags" = "xyes" ; then
AC_MSG_RESULT(yes)
CFLAGS_ADD([-Wcast-align], [WARNING_CFLAGS])
CFLAGS_ADD([-Wclobbered], [WARNING_CFLAGS])
CFLAGS_ADD([-Wempty-body], [WARNING_CFLAGS])
CFLAGS_ADD([-Wfloat-equal], [WARNING_CFLAGS])
CFLAGS_ADD([-Wformat-nonliteral], [WARNING_CFLAGS])
CFLAGS_ADD([-Wformat-security], [WARNING_CFLAGS])
CFLAGS_ADD([-Wignored-qualifiers], [WARNING_CFLAGS])
CFLAGS_ADD([-Winit-self], [WARNING_CFLAGS])
CFLAGS_ADD([-Wlogical-op], [WARNING_CFLAGS])
CFLAGS_ADD([-Wmissing-declarations], [WARNING_CFLAGS])
CFLAGS_ADD([-Wmissing-field-initializers], [WARNING_CFLAGS])
CFLAGS_ADD([-Wmissing-parameter-type], [WARNING_CFLAGS])
CFLAGS_ADD([-Wmissing-prototypes], [WARNING_CFLAGS])
CFLAGS_ADD([-Wold-style-declaration], [WARNING_CFLAGS])
CFLAGS_ADD([-Woverride-init], [WARNING_CFLAGS])
CFLAGS_ADD([-Wpointer-arith], [WARNING_CFLAGS])
CFLAGS_ADD([-Wredundant-decls], [WARNING_CFLAGS])
CFLAGS_ADD([-Wshadow], [WARNING_CFLAGS])
CFLAGS_ADD([-Wsign-compare], [WARNING_CFLAGS])
CFLAGS_ADD([-Wstrict-aliasing], [WARNING_CFLAGS])
CFLAGS_ADD([-Wstrict-overflow=5], [WARNING_CFLAGS])
CFLAGS_ADD([-Wstrict-prototypes], [WARNING_CFLAGS])
CFLAGS_ADD([-Wtype-limits], [WARNING_CFLAGS])
CFLAGS_ADD([-Wuninitialized], [WARNING_CFLAGS])
CFLAGS_ADD([-Wunused-but-set-parameter], [WARNING_CFLAGS])
CFLAGS_ADD([-Wunused-parameter], [WARNING_CFLAGS])
CFLAGS_ADD([-Wwrite-strings], [WARNING_CFLAGS])
else
AC_MSG_RESULT(no)
fi
AC_CONFIG_FILES([
lib/Makefile
src/Makefile
doc/Makefile
test/Makefile
Makefile
])
AC_OUTPUT
echo "
${PACKAGE_NAME}:
Build information:
prefix : ${prefix}
sysconfdir : $(eval echo ${sysconfdir})
conf file : $(eval echo ${sysconfdir})/pacman.conf
localstatedir : $(eval echo ${localstatedir})
database dir : $(eval echo ${localstatedir})/lib/pacman/
cache dir : $(eval echo ${localstatedir})/cache/pacman/pkg/
libmakepkg dir : $(eval echo ${LIBMAKEPKGDIR})
compiler : ${CC}
compiler flags : ${WARNING_CFLAGS} ${CFLAGS}
linker flags : ${LDFLAGS} ${LIBALPM_LIBS} ${LIBARCHIVE_LIBS}
Filesize command : ${SIZECMD}
using git version : ${usegitver}
Directory and file information:
root working directory : ${ROOTDIR}
Compilation options:
Run make in doc/ dir : ${wantdoc} ${asciidoc}
debug support : ${debug}
extra warning flags : ${warningflags}
use git version : ${wantgitver}
"
# vim:set noet:

View file

@ -0,0 +1,5 @@
pacman-contrib (1.4.0-1) UNRELEASED; urgency=medium
* Initial release
-- unknown <ndowens@artixlinux.org> Fri, 14 Jan 2022 01:29:59 +0000

View file

@ -0,0 +1,16 @@
Source: pacman-contrib
Section: misc
Priority: optional
Maintainer: unknown <ndowens@artixlinux.org>
Build-Depends: debhelper-compat (= 13), pkg-config, arch-pacman,
libarchive-dev, libcrypto++-dev, libssl-dev,
libcurl-dev, asciidoc-base
Standards-Version: 4.6.0
#Vcs-Browser: https://salsa.debian.org/debian/pacman-contrib
#Vcs-Git: https://salsa.debian.org/debian/pacman-contrib.git
Rules-Requires-Root: no
Package: pacman-contrib
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: pacman related extras

View file

@ -0,0 +1,26 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: pacman-contrib
Files: *
License: GPL-2.0+
Files: debian/*
Copyright: 2022 unknown <ndowens@artixlinux.org>
License: GPL-2.0+
License: GPL-2.0+
This package 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 2 of the License, or
(at your option) any later version.
.
This package 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 <https://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".

View file

@ -0,0 +1,33 @@
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#export DH_VERBOSE = 1
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
%:
dh $@
override_dh_auto_configure:
./autogen.sh
dh_auto_configure
./configure \
--prefix=/usr \
--libdir=/usr/lib
# dh_make generated override targets
# This is example for Cmake (See https://bugs.debian.org/641051 )
#override_dh_auto_configure:
# dh_auto_configure -- \
# -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH)

View file

@ -0,0 +1 @@
3.0 (quilt)

View file

@ -0,0 +1,3 @@
*.8
*.html
website.tar.gz

View file

@ -0,0 +1,119 @@
# We have to do some funny stuff here with the manpages. In order to ensure
# a dist tarball doesn't get put out there without manpages, we keep those
# files listed in EXTRA_DIST no matter what. However, we only add them to
# man_MANS if --enable-asciidoc and/or --enable-doxygen are used.
ASCIIDOC_MANS = \
checkupdates.8 \
paccache.8 \
pacdiff.8 \
pacsort.8 \
pactree.8 \
updpkgsums.8
HTML_MANPAGES = \
checkupdates.8.html \
paccache.8.html \
pacdiff.8.html \
pacsort.8.html \
pactree.8.html \
updpkgsums.8.html
HTML_OTHER = \
release-procedure.html \
submitting-patches.html
HTML_DOCS = \
$(HTML_MANPAGES) \
$(HTML_OTHER)
EXTRA_DIST = \
asciidoc.conf \
asciidoc-override.css \
checkupdates.8.txt \
paccache.8.txt \
pacdiff.8.txt \
pacsort.8.txt \
pactree.8.txt \
updpkgsums.8.txt \
footer.txt \
$(ASCIIDOC_MANS)
# Files that should be removed, but which Automake does not know.
MOSTLYCLEANFILES = *.xml $(ASCIIDOC_MANS) $(HTML_DOCS) website.tar.gz
# Ensure manpages are fresh when building a dist tarball
dist-hook:
$(MAKE) $(AM_MAKEFLAGS) clean
$(MAKE) $(AM_MAKEFLAGS) all
if USE_GIT_VERSION
GIT_VERSION := $(shell sh -c 'git describe --long --abbrev=4 --dirty | sed s/^v//')
REAL_PACKAGE_VERSION = $(GIT_VERSION)
else
REAL_PACKAGE_VERSION = $(PACKAGE_VERSION)
endif
man_MANS =
dist_man_MANS = $(ASCIIDOC_MANS)
html: $(HTML_DOCS)
website: website.tar.gz
.PHONY: html website
website.tar.gz: html
$(AM_V_GEN)bsdtar czf $@ $(HTML_DOCS) \
asciidoc-override.css \
-C /etc/asciidoc/stylesheets/ \
asciidoc.css \
-C /etc/asciidoc/javascripts/ \
asciidoc.js \
-C /etc/asciidoc/ \
images
pkgdatadir = ${datadir}/${PACKAGE}
ASCIIDOC_OPTS = \
-f $(srcdir)/asciidoc.conf \
-a pacman_contrib_version="$(REAL_PACKAGE_VERSION)" \
-a pkgdatadir=$(pkgdatadir) \
-a localstatedir=$(localstatedir) \
-a sysconfdir=$(sysconfdir)
A2X_OPTS = \
--no-xmllint \
-d manpage \
-f manpage \
--xsltproc-opts='-param man.endnotes.list.enabled 0 -param man.endnotes.are.numbered 0'
# These rules are due to the includes and files of the asciidoc text
$(ASCIIDOC_MANS): asciidoc.conf footer.txt Makefile.am
$(AM_V_GEN)a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS) --out-file=./$@.xml" $(srcdir)/$@.txt
%.html: %.txt
$(AM_V_GEN)asciidoc $(ASCIIDOC_OPTS) -o - $*.txt | \
sed -e 's/\r$$//' > $@
HACKING.html: ../HACKING
$(AM_V_GEN)asciidoc $(ASCIIDOC_OPTS) -o - ../HACKING | \
sed -e 's/\r$$//' > $@
# Customizations for certain HTML docs
$(HTML_MANPAGES): asciidoc.conf footer.txt Makefile.am
$(HTML_OTHER): asciidoc.conf Makefile.am
%.html: ASCIIDOC_OPTS += -a linkcss -a toc -a icons -a max-width=960px -a stylesheet=asciidoc-override.css
%.8.html: ASCIIDOC_OPTS += -d manpage
%.5.html: ASCIIDOC_OPTS += -d manpage
%.3.html: ASCIIDOC_OPTS += -d manpage
# Dependency rules
checkupdates.8 checkupdates.8.html: checkupdates.8.txt
paccache.8 paccache.8.html: paccache.8.txt
pacdiff.8 pacdiff.8.html: pacdiff.8.txt
pactree.8 pactree.8.html: pactree.8.txt
pacsort.8 pacsort.8.html: pacsort.8.txt
updpkgsums.8 updpkgsums.8.html: updpkgsums.8.txt
# vim:set noet:

View file

@ -0,0 +1,7 @@
table th, table td {
padding: 0.2em 1em;
}
table td p.table {
margin: 0;
}

View file

@ -0,0 +1,72 @@
## linkman: macro
# Inspired by/borrowed from the GIT source tree at Documentation/asciidoc.conf
#
# Usage: linkman:command[manpage-section]
#
# Note, {0} is the manpage section, while {target} is the command.
#
# Show man link as: <command>(<section>); if section is defined, else just show
# the command.
[macros]
(?su)[\\]?(?P<name>linkman):(?P<target>\S*?)\[(?P<attrlist>.*?)\]=
[attributes]
asterisk=&#42;
plus=&#43;
caret=&#94;
startsb=&#91;
endsb=&#93;
backslash=&#92;
tilde=&#126;
apostrophe=&#39;
backtick=&#96;
litdd=&#45;&#45;
ifdef::backend-docbook[]
[linkman-inlinemacro]
{0%{target}}
{0#<citerefentry>}
{0#<refentrytitle>{target}</refentrytitle><manvolnum>{0}</manvolnum>}
{0#</citerefentry>}
endif::backend-docbook[]
ifdef::backend-docbook[]
ifndef::docbook-xsl-172[]
# "unbreak" docbook-xsl v1.68 for manpages. v1.69 works with or without this.
# v1.72 breaks with this because it replaces dots not in roff requests.
[listingblock]
<example><title>{title}</title>
<literallayout>
|
</literallayout>
{title#}</example>
endif::docbook-xsl-172[]
endif::backend-docbook[]
ifdef::doctype-manpage[]
ifdef::backend-docbook[]
[header]
template::[header-declarations]
<refentry>
<refentryinfo>
<date>{localdate}</date>
</refentryinfo>
<refmeta>
<refentrytitle>{mantitle}</refentrytitle>
<manvolnum>{manvolnum}</manvolnum>
<refmiscinfo class="source">Pacman-contrib</refmiscinfo>
<refmiscinfo class="version">{pacman_contrib_version}</refmiscinfo>
<refmiscinfo class="manual">Pacman-contrib Manual</refmiscinfo>
</refmeta>
<refnamediv>
<refname>{manname}</refname>
<refpurpose>{manpurpose}</refpurpose>
</refnamediv>
endif::backend-docbook[]
endif::doctype-manpage[]
ifdef::backend-xhtml11[]
[linkman-inlinemacro]
<a href="{target}.{0}.html">{target}{0?({0})}</a>
endif::backend-xhtml11[]

View file

@ -0,0 +1,60 @@
/////
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
/////
checkupdates(8)
=============
Name
----
checkupdates - safely print a list of pending updates
Synopsis
--------
'checkupdates' [options]
Description
-----------
Checks for pending updates using a separate Pacman database located in
*`TMPDIR`* if *`CHECKUPDATES_DB`* is not set and outputs a list of updates with the
old and new version.
Options
-------
*-d, \--download*::
Download any pending updates to the pacman cache.
*-h, \--help*::
Display syntax and command line options.
Environment
-----------
*CHECKUPDATES_DB*::
Override the default update db location.
*TMPDIR*::
Overrides the default '/tmp' temporary directory.
Errors
------
On exit, checkupdates will return one of the following error codes.
0::
Normal exit condition.
1::
Unknown cause of failure.
2::
No updates are available.
See Also
--------
linkman:pacman[8], linkman:pacman.conf[5]
include::footer.txt[]

View file

@ -0,0 +1,21 @@
/////
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
/////
Bugs
----
Bugs? You must be kidding; there are no bugs in this software. But if we
happen to be wrong, send us an email with as much detail as possible to
mailto:pacman-contrib@lists.archlinux.org[].
Authors
-------
Current maintainers:
* Johannes Löthberg <johannes@kyriasis.com>
* Daniel M. Capella <polyzen@archlinux.org>
For additional contributors, use `git shortlog -s` on the pacman-contrib.git
repository.

View file

@ -0,0 +1,90 @@
/////
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
/////
paccache(8)
=========
Name
----
paccache - flexible pacman cache cleaning utility
Synopsis
--------
'paccache' <operation> [options] [targets...]
Description
-----------
Paccache removes old packages from the pacman cache directory.
By default the last three versions of a package are kept.
Operations
----------
*-d, \--dryrun*::
Perform a dry run, only finding candidate packages.
*-m, \--move <dir>*::
Move candidate packages from the cache directory to 'dir'.
*-r, \--remove*::
Remove candidate packages from the cache directory.
Options
-------
*-a, \--arch <arch>*::
Scan for packages for a specific architecture. Default is to scan for
all architectures.
*\--min-atime <age>*::
*\--min-mtime <age>*::
Only consider packages for removal with atime respectively mtime older than
specified. The age can be given as '10d', '1m', '1y', '1y1m' etc.
*-c, \--cachedir <dir>*::
Specify a different cache directory. This option can be used more than once.
Default is to use the cache directory configured in 'pacman.conf'.
*-f, \--force*::
Apply force to 'mv' and 'rm' operations.
*-h, \--help*::
Display syntax and command line options.
*-i, \--ignore <pkgs>*::
Specify packages to ignore, comma-separated. Alternatively "-" can be used
to read the package names from stdin, newline-delimited.
*-k, \--keep <num>*::
Specify how many versions of each package are kept in the cache directory,
default is 3.
*\--nocolor*::
Remove color from the output.
*-q, \--quiet*::
Minimize the output.
*-u, \--uninstalled*::
Target uninstalled packages.
*-v, \--verbose*::
Increase verbosity, can be specified up to 3 times.
*-z, \--null*::
Use null delimiters for candidate names (only with -v and -vv).
Systemd Timer
-------------
The package cache can be cleaned periodically using the systemd timer 'paccache.timer'.
If the timer is enabled the cache will be cleaned weekly with paccache's default options.
See Also
--------
linkman:pacman[8], linkman:pacman.conf[5], linkman:systemctl[1]
include::footer.txt[]

View file

@ -0,0 +1,63 @@
/////
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
/////
pacdiff(8)
==========
Name
----
pacdiff - pacorig, pacnew and pacsave maintenance utility
Synopsis
--------
'pacdiff' [options]
Description
-----------
pacdiff is a script which looks for pacorig, pacnew and pacsave files from the
backup entries found in the local Pacman db. For every found file the option is
given to view, merge, skip, diff, remove or overwrite the found pacorig, pacnew
or pacsave file.
Environment
-----------
*DIFFPROG*::
Override the default 'vim -d' merge program.
*DIFFSEARCHPATH*::
Override the default search path '/etc', only when using find.
*MERGEPROG*::
Override the default 'diff3 -m' 3-way merge program. One possible
alternative is 'git merge-file -p'.
Options
-------
*-l, \--locate*::
Scan using locate.
*-f, \--find*::
Scan using find.
*-p, \--pacmandb*::
Scan active config files from Pacman database. (default)
*-o, \--output*::
Print files instead of merging them.
*\--nocolor*::
Remove colors from output.
*-c, \--cachedir <dir>*::
Scan 'dir' instead as the pacman cache for 3-way merge base candidates.
*-s, \--sudo*::
Use sudo to merge/remove files.
See Also
--------
linkman:pacman[8], linkman:pacman.conf[5]
include::footer.txt[]

View file

@ -0,0 +1,55 @@
/////
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
/////
pacsort(8)
=========
Name
----
pacsort - sort utility implementing alpm_pkg_vercmp
Synopsis
--------
'pacsort' [options] [files...]
Description
-----------
'pacsort' concatenates the given files, sorts them, and writes them to standard
output. Default order is oldest to newest.
Standard input is read when no files are given.
By default the lines are treated as lists of plain version strings.
Options
-------
*-f, \--files*::
If the input lists are in the format '\*-\*.pkg.tar*', sort lines by pkgname and pkgver.
*-h, \--help*::
Display syntax and command line options.
*-k, \--key <index>*::
Sort the input starting on the specified column.
*-r, \--reverse*::
Sort in reverse order.
*-t, \--separator <sep>*::
Field separator. Default separator is space.
*-v, \--version*::
Display the version.
*-z, \--null*::
Lines end with null bytes rather than newlines.
See Also
--------
linkman:pacman[8], linkman:vercmp[8]
include::footer.txt[]

View file

@ -0,0 +1,82 @@
/////
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
/////
pactree(8)
=========
Name
----
pactree - package dependency tree viewer
Synopsis
--------
'pactree' [options] package
Description
-----------
Pactree produces a dependency tree for a package.
By default, a tree-like output is generated, but with the '\--graph' option, a Graphviz
description is generated.
Options
-------
*-a, \--ascii*::
Use ASCII characters for tree formatting. By default, pactree will use Unicode
line drawing characters if it is able to detect that the locale supports them.
*-b, \--dbpath*::
Specify an alternative database location.
*-c, \--color*::
Colorize output.
*-d, \--depth <num>*::
Limits the number of levels of dependency to show. A zero means
show the named package only, one shows the packages that are directly
required.
*-g, \--graph*::
Generate a Graphviz description. If this option is given, the '\--color' and
'\--linear' options are ignored.
*-h, \--help*::
Output syntax and command-line options.
*-l, \--linear*::
Prints package names at the start of each line, one per line.
*-r, \--reverse*::
Show packages that depend on the named package.
*-s, \--sync*::
Read package data from sync databases instead of local database.
*-u, \--unique*::
List dependent packages once. Implies '\--linear'.
*-o, \--optional[=DEPTH]*::
Additionally prints optional dependencies up to a certain depth, default 1
for immediate optional dependencies. When used in conjunction with '-r' it
shows which packages it is optional for. In Graphviz mode, produce dotted
lines. Negative values mean infinite depth.
*\--config <file>*::
Specify an alternate pacman configuration file.
*\--debug*::
Print log messages produced by libalpm.
*\--gpgdir <dir>*::
Specify an alternate GnuPG directory for verifying database signatures
(default is /etc/pacman.d/gnupg).
See Also
--------
linkman:pacman[8], linkman:pacman.conf[5], linkman:makepkg[8]
include::footer.txt[]

View file

@ -0,0 +1,43 @@
Release Procedure
=================
Preparations
------------
--
Before tagging the release, ensure that:
* `CHANGES.md` has been updated with all changes that will go into the new release.
--
Procedure
---------
--
Assuming `$VERSION` is the version number in `X.Y.Z` format and `$REMOTE` is the Git remote for the `pacman-contrib` repository on `gitlab.archlinux.org`:
* Update the version in `configure.ac`.
* In `CHANGES.md`:
- Rename the `Unreleased` section to `[$VERSION] - YYYY-MM-DD`.
- Populate new `Unreleased` section.
- Add the Git log URL for the new tag to the bottom of the file.
- Bump the version in the `Unreleased` Git log URL.
* `git commit -sm "Release v$VERSION"`
* `git tag -s v$VERSION -m v$VERSION`
* {blank}
+
----
git notes --ref=refs/notes/signatures/tar add -C "$(
git archive --format tar --prefix "pacman-contrib-$VERSION/" v$VERSION |
gpg --output - --armor --detach-sign |
git hash-object -w --stdin
)" v$VERSION
----
* `git push $REMOTE master $VERSION refs/notes/signatures/tar`
--
/////
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
/////

View file

@ -0,0 +1,104 @@
Submitting Patches
==================
This document is here mainly to make the job of those who review patches easier
and is more of a guideline rather than a strict set of rules. However, please
try to follow them as much as you can.
Getting the most recent source
------------------------------
Patches need to be submitted in Git format and are best if they are against the
latest version of the code. There are several helpful tutorials for getting
started with Git if you have not worked with it before.
* https://git-scm.com/book
* https://www.kernel.org/pub/software/scm/git/docs/gittutorial.html
The pacman-contrib code can be fetched using the following command:
git clone git://projects.archlinux.org/pacman-contrib.git
Creating your patch
-------------------
--
* Use `git commit -s` for creating a commit of your changes.
The -s allows you to credit yourself by adding a "Signed Off By" line to
indicate who has "signed" the patch - who has approved it.
Signed-off-by: Aaron Griffin <aaron@archlinux.org>
Please use your real name and email address. Feel free to "scramble" the
address if you're afraid of spam.
* Describe your patch.
It helps if you describe the overview and goals of the patch in the git commit
log. This allows others to see what you intended so as to compare it to what
was actually done, and allows better feedback.
* Use `git format-patch` to create patches.
Your commit message will be shown above the patch by default when you will use
`git format-patch`, including the signoff line. Sets of multiple patches that
need extra explanation beyond the commit messages may include additional notes
in a cover letter. Individual patches may include additional notes between the
"---" following the commit message and the beginning of the diff.
--
Submitting your patch
---------------------
--
* Send the patch to the https://lists.archlinux.org/listinfo/pacman-contrib[pacman-contrib] mailing list
The mailing list is the primary queue for review and acceptance. Here you
will get feedback, and let the reviewers know the details of your patch.
* No MIME, no links, no compression, no attachments. Just plain text.
Patches should be contained in the actual body of the email. There are many
reasons for this. First, it makes them easier to read with any mail reader,
it allows easier review "at a glance", and most importantly, it allows people
to comment on exact lines of the patch in reply emails.
`git send-email` allows you to send Git-formatted patches in plain text easily
and is the preferred method for submission to the mailing list. Mail clients,
including Gmail's web interface, have a tendency to break patches by wrapping
lines and/or adjusting whitespace and should be avoided.
--
After you submit
----------------
--
* Don't get discouraged
Any feedback you get, positive or negative, has nothing to do with you. If a
patch is rejected, try taking the suggestions into account and re-submitting.
We welcome most submissions here, and some may take a bit longer to get
looked over than others. If you think your patch got lost in the shuffle,
send another email to the list in reply to the original asking if anyone has
looked at it yet.
* Respond to feedback
When you do get feedback, it usually merits a response, whether this be a
resubmission of the patch with corrections or a follow-up email asking for
clarifications. When neither of these occurs, don't expect your patch to get
further review. The all-volunteer staff don't have time to fix up patches that
aren't their own. When resubmitting patches, update the subject line to reflect
the version number ('[PATCHv2]'), and send it as a reply to the original
thread. When using `git format-patch` you can pass in e.g. -v2 to have it
automatically set the patch prefix appropriately.
--
/////
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
/////

View file

@ -0,0 +1,37 @@
/////
vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
/////
updpkgsums(8)
===========
Name
----
updpkgsums - update checksums of a PKGBUILD file
Synopsis
--------
'updpkgsums' [options] [build file]
Description
-----------
'updpkgsums' will perform an in place update of the checksums in the path
specified by [build file], defaulting to PKGBUILD in the current working
directory.
Options
-------
*-V, \--version*::
Display version information and exit.
*-m, \--nocolor*::
Disable colorized output messages.
See Also
--------
linkman:makepkg[8], linkman:pkgbuild[5]
include::footer.txt[]

View file

@ -0,0 +1,8 @@
SUBDIRS=
DIST_SUBDIRS = $(SUBDIRS)
EXTRA_DIST = \
size_to_human.sh
# vim:set noet:

View file

@ -0,0 +1,22 @@