Yet another Yogurt - An AUR Helper written in Go
Go to file
morganamilo 906748ebde
Don't mark repo upgrades as deps during sysupgrade
Before `yay -Syu` called `pacman -Sy <pkgs to upgrade>`
We then later switched to it calling `pacman -Syu` this lead to yay
seeing no targets to when it was upgrading a bunch of packages it
assumed they must be deps. Correct this by adding repo packages to the
targets list.

Also ensure we dont mark packages as dependencies if they are already
installed. For example we install `foo` which requires `bar>5` but we
only have `bar=4` installed. In this case installing `foo` will pull bar
in as a dependency but it should not be marked as such because it
already exists.
2018-04-11 05:35:44 +01:00
.go Improve makefile 2018-03-23 05:36:19 +00:00
completions Merge pull request #341 from Jguer/fish 2018-04-09 12:21:43 +01:00
doc Document fcf0ee34d1 2018-04-08 15:49:56 +01:00
testdata/keys Do not depend on the Internet for keys_test.go 2018-03-23 14:17:47 -04:00
vendor/github.com Update vendored go-alpm 2018-03-23 23:36:45 +00: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 Add recursive removal of packages 2018-03-23 23:45:46 +00:00
cmd.go Support flags when using the editor 2018-04-09 20:50:18 +01:00
completions.go New print option, added new completion syntax, fixed fish completion 2018-01-21 02:48:40 +09:00
config.go Don't mark repo upgrades as deps during sysupgrade 2018-04-11 05:35:44 +01:00
conflicts.go Add missing err check 2018-03-22 19:48:43 +00:00
dependencies.go Fix versioned dep checking 2018-04-03 01:47:42 +01:00
download.go Fix -G for non split packages and support multilib 2018-03-11 23:23:24 +00:00
Gopkg.lock Update deps properly and lint 2018-03-24 00:04:28 +00:00
Gopkg.toml dep: prune all dependencies by default 2018-02-27 10:14:26 +00:00
install.go Don't mark repo upgrades as deps during sysupgrade 2018-04-11 05:35:44 +01:00
ISSUE_TEMPLATE.md Fix strange linting applied 2018-02-28 14:11:40 +00:00
keys_test.go Do not depend on the Internet for keys_test.go 2018-03-23 14:17:47 -04:00
keys.go Handle pkgbuilds with an unsupported arch 2018-03-19 19:24:51 +00:00
LICENSE Create LICENSE 2016-09-05 03:43:29 +01:00
main.go Supress pacman error printing 2018-03-23 19:56:28 +00:00
Makefile Improve makefile 2018-03-23 05:36:19 +00:00
parser_test.go Add parseNumberMenu() 2018-03-10 03:04:44 +00:00
parser.go Support flags when using the editor 2018-04-09 20:50:18 +01:00
print_test.go Fixed tests for unified structure 2017-08-07 10:53:20 +01:00
print.go Merge pull request #329 from AlexWayfer/improve_versions_output 2018-04-09 16:15:40 +01:00
query_test.go Fixed tests for unified structure 2017-08-07 10:53:20 +01:00
query.go Merge branch 'master' into master 2018-04-07 16:42:56 +00:00
README.md Update README for release 2018-04-09 12:33:57 +01:00
upgrade_test.go Add tests for upgrade (getVersionDiff function) 2018-04-08 22:46:33 +03:00
upgrade.go Fix make test (gofmt threw "Files need to be linted") 2018-04-08 22:46:33 +03:00
utils.go Add utils.go 2018-03-22 16:38:21 +00:00
vcs_test.go Add parseNumberMenu() 2018-03-10 03:04:44 +00:00
vcs.go Skip SRCINFOs that cannot be parsed during gendb 2018-04-02 19:27:16 +01: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

v5.657

  • By default running yay will trigger yay -Syu
  • Updated Shell completions
  • -Ss shows difference between installed and in-repo versions
  • Allow sorting AUR results by fields other than votes
    • votes|popularity|id|baseid|name|base|submitted|modified
  • Added flags for automatic menu input
    • --answerclean --answeredit --answerupgrade
    • --noanswerclean --noansweredit --noanswerupgrade
  • Fixed versioned dep checking
  • Usual fixes to parsing, dependency sourcing and other PKGBUILD atrocities

v5.608

  • Updated Shell completions
  • Added -Qu to extended pacman options
  • Provides now supported in -Si
  • Improved build method
  • Improved conflict checking
  • PKGBUILDs with unsupported arch can force build now
  • PGP Key automatic importing
  • GPG option passing
  • db/name support readded

4.505

  • yay used to auto save permanent configuration options, now --save must be passed to save permanent configuration options
  • Competions updated
  • Number menu is now used to edit PKGBuilds and Clean Builds
  • Devel updates of -git packages now uses git ls-remote which makes it compatible with other platforms besides github.
  • Devel update checking is faster as well
  • Updated man page

3.440

  • Closed a lot of issues
  • Updated bash and zsh completions
  • New colour scheme
  • Small parsing fixes
  • Automatically delete package from transaction if $EDITOR exits with non-zero #140
  • Added check depends support

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