Find a file
morganamilo 67bd8cc9a2
Improve makefile
Created .go/src which symlinks to vendor/. Running `make` now builds
yay using the packages in vendor. This can still be overiden by running
`make GOPATH=$HOME/go`

Even though the makefile calls git to get the version, that can be
overiden using `make MAJORVERSION=5 MINORVERSION=400`, skipping the call to git. This
allows building yay/yay-bin using the makefile

The yay binary is now always yay instead of taking the name of the
parent directory.

Added vet and fmt checks to `make test` for more checking.

Reordered some stuff, made sure the dependency order is correct. Any
command such as `make package` can be ran at any point, even after a
`make clean` instead of having to execute the correct make commands in
order.

Changed install form using `go install` to a traditional install. The
pkgbuilds can now use `make DESTDIR=$PKGDIR install`. Added uninstall to match.

One thing this commit does not do is have proper recepies which depend
on files instead of phonies. The reason for this is that it does not
play that well with go's build system. Go is smart enough to only
recompile needed files anyway.
2018-03-23 05:36:19 +00:00
.go Improve makefile 2018-03-23 05:36:19 +00:00
completions Update version for close release 2018-03-22 17:02:40 +01:00
doc Update version for close release 2018-03-22 17:02:40 +01:00
vendor/github.com Update vendor dependencies 2018-03-20 08:55:08 +01:00
.gitignore fix Makefile and fix README 2018-02-17 18:27:36 +00:00
callbacks.go Fix missing %s in callbacks.go 2018-03-23 04:45:59 +00:00
clean.go Use git ls-remote to track devel updates 2018-03-05 23:05:13 +00:00
cmd.go Lint 2018-03-22 16:39:27 +00:00
completions.go New print option, added new completion syntax, fixed fish completion 2018-01-21 02:48:40 +09:00
config.go Respect --color 2018-03-21 05:42:19 +00:00
conflicts.go Add missing err check 2018-03-22 19:48:43 +00:00
dependencies.go Lint 2018-03-22 16:39:27 +00:00
download.go Fix -G for non split packages and support multilib 2018-03-11 23:23:24 +00:00
Gopkg.lock Update vendor dependencies 2018-03-20 08:55:08 +01:00
Gopkg.toml dep: prune all dependencies by default 2018-02-27 10:14:26 +00:00
install.go Fix nothing to do if upgrading only repo packages 2018-03-22 17:12:33 +00:00
ISSUE_TEMPLATE.md Fix strange linting applied 2018-02-28 14:11:40 +00:00
keys.go Handle pkgbuilds with an unsupported arch 2018-03-19 19:24:51 +00:00
keys_test.go Update keys_tests.go 2018-03-19 20:00:13 +00:00
LICENSE Create LICENSE 2016-09-05 03:43:29 +01:00
main.go Lint 2018-03-22 16:39:27 +00:00
Makefile Improve makefile 2018-03-23 05:36:19 +00:00
parser.go Add utils.go 2018-03-22 16:38:21 +00:00
parser_test.go Add parseNumberMenu() 2018-03-10 03:04:44 +00:00
print.go Lint 2018-03-22 16:39:27 +00:00
print_test.go Fixed tests for unified structure 2017-08-07 10:53:20 +01:00
query.go Add utils.go 2018-03-22 16:38:21 +00:00
query_test.go Fixed tests for unified structure 2017-08-07 10:53:20 +01:00
README.md Fix yay -G on README 2018-03-07 12:11:48 +00:00
upgrade.go Lint 2018-03-22 16:39:27 +00:00
utils.go Add utils.go 2018-03-22 16:38:21 +00:00
vcs.go Implement the provider question and imitate pacman 2018-03-20 15:56:13 +00:00
vcs_test.go Add parseNumberMenu() 2018-03-10 03:04:44 +00:00

yay

Yet another Yogurt - An AUR Helper written in Go

Packages

yay yay-bin yay-git GitHub license

There's a point in everyone's life when you feel the need to write an AUR helper because there are only about 20 of them. So say hi to 20+1.

Yay was created with a few objectives in mind and based on the design of yaourt and apacman:

  • Have almost no dependencies.
  • Provide an interface for pacman.
  • Have yaourt like search.
  • Minimize user input
  • Know when git packages are due for an upgrade.

Features

  • AUR Tab completion
  • Download PKGBUILD from ABS or AUR
  • Ask all questions first and then start building
  • Search narrowing (yay linux header will first search linux and then narrow on header)
  • No sourcing of PKGBUILD is done
  • The binary has no dependencies that pacman doesn't already have.
  • Sources build dependencies
  • Removes make dependencies at the end of build process

Frequently Asked Questions

  • Yay does not display colored output. How do I fix it?
    Make sure you have the Color option in your /etc/pacman.conf #123

Example of Custom Operations

  • yay <Search Term> presents package selection menu
  • yay -Ps prints system statistics
  • yay -Pu prints update list
  • yay -Yc cleans unneeded dependencies
  • yay -G downloads PKGBUILD from ABS or AUR
  • yay -Y --gendb generates development package DB used for devel updates.

Changelog

3.373

  • Version bump to V3 to reflect all of the changes to syntax
  • yay -Pd prints default config
  • yay -Pg prints current config
  • Fixes #174
  • Fixes #176
  • Fixes -G being unable to download split packages
  • Fixes #171
  • Fixes -Si failing when given a non existing package on https://github.com/Jguer/yay/pull/155
  • Fixes other small bugs on 2.350 without adding new features

2.350

  • Adds sudo loop (off by default, enable only by editing config file) #147
  • Adds replace package support #154 #134
  • Minor display improvements #150 for example
  • Fixes GenDB
  • Fixes Double options passing to pacman
  • Noconfirm works more as expected
  • Minor fixes and refactoring
  • Yay filters out the repository name if it's included.
  • Fixes #122

2.298

  • Adds #115

2.296

  • New argument parsing @Morganamilo (check manpage or --help for new information)
  • yay -Qstats changed to yay -Ps or yay -P --stats
  • yay -Cd changed to yay -Yc or yay -Y --clean
  • yay -Pu (--upgrades) prints update list
  • yay -Pn (--numberupgrades) prints number of updates
  • yay -G also possible through -Yg or -Y --getpkgbuild (yay -G will be discontinued once it's possible to add options to the getpkgbuild operation)
  • yay now counts from 1 instead of 0 @Morganamilo
  • Support for ranges when selecting packages @samosaara
  • Pacaur style ask all questions first and download first @Morganamilo
  • Updated vendor dependencies (Fixes pacman.conf parsing errors and PKGBUILD parsing errors)
  • Updated completions

2.219

  • Updated manpage
  • Updated --help
  • Fixed AUR update fails with large number of packages #59
  • Check if package is already in upgrade list and skip it. #60
  • Add -V and -h for flag parsing @AnthonyLam
  • Prevent file corruption by truncating the files @maximbaz
  • Print VCS error details @maximbaz
  • Using '-' doesn't raise an error @PietroCarrara
  • use Command.Dir in aur.PkgInstall; Fixes #32 #47 @afg984
  • Suffix YayConf.BuildDir with uid to avoid permission issues @afg984 (Not included in last changelog)

2.200

  • Development github package support readded

2.196

  • XDG_CONFIG_HOME support
  • XDG_CACHE_HOME support

2.165

  • Upgrade list now allows skipping upgrade install

2.159

  • Qstats now warns about packages not available in AUR

2.152

  • Fetching backend changed to Mikkel Oscar's Aur
  • Added support for development packages from github.
  • Pacman backend rewritten and simplified
  • Added config framework.

1.115

  • Added AUR completions (updates on first completion every 48h)

1.101

  • Search speed and quality improved #3

1.100

  • Added manpage
  • Improved search #3
  • Added -G to get pkgbuild from the AUR or ABS. #6
  • Fixed #8
  • Completed and decluttered zsh completions
  • If $EDITOR or $VISUAL is not set yay will prompt you for an editor #7

1.91

  • --downtop has been replaced with --bottomup (as is logical)
  • yay -Ssq and yay -Sqs now displays AUR packages with less information
  • Repository search now uses the same criteria as pacman

1.85

  • yay now does -Si for AUR packages
  • Fixed package install bugs

1.83

  • Added new dependency resolver for future features
  • Sort package statistics

1.80

  • yay now warns when installing orphan packages
  • Added orphan status to number menu
  • Qstats now checks if system has orphan packages installed

1.78

  • Added foreign package statistics to Qstats
  • Group installing is now possible
  • Better handling of package dependency installing

1.76

  • Fixed critical bug that prevented AUR dependencies from being installed.

1.70

  • Stable for everyday use
  • Bottom up package display
  • Number menu like yaourt/apacman
  • System package statistics