jguer / yay Goto Github PK
View Code? Open in Web Editor NEWYet another Yogurt - An AUR Helper written in Go
License: GNU General Public License v3.0
Yet another Yogurt - An AUR Helper written in Go
License: GNU General Public License v3.0
$ yay -S dbeaver # <enter>
==> Edit PKGBUILD? (y/N) # <enter>
=> Make Dependencies:
==> Repository dependencies: maven
==> Continue? (Y/n) # <enter>
resolving dependencies...
:: There are 2 providers available for java-environment:
:: Repository extra
1) jdk7-openjdk 2) jdk8-openjdk
Enter a number (default=1): # <no user action, it automatically proceeds>
looking for conflicting packages...
Packages (5) java-environment-common-2-2 jdk7-openjdk-7.u111_2.6.7-1 jre7-openjdk-7.u111_2.6.7-1 jre7-openjdk-headless-7.u111_2.6.7-1 maven-3.3.9-1
Total Installed Size: 106.87 MiB
:: Proceed with installation? [Y/n] # <no user action, it automatically proceeds>
-G, --getpkgbuild <package>
Get PKGBUILD for ABS or AUR.
So in considering this behavior I eventually realized that -Su
does not upgrade AUR packages, by design. Is that right? Is there a particular logic behind that?
Anyway, here's an example:
$ yay -Su
:: Starting full system upgrade...
there is nothing to do
$ yay -Syu
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
:: Starting full system upgrade...
there is nothing to do
:: Starting AUR upgrade...
==> qtwebkit: 2.3.4-4 -> 2.3.4-4
==> tor-browser-en: 6.5-1 -> 6.5-1
==> Proceed with upgrade? (Y/n)
I've been seeing this bug for quite a while now (I'm running build from dev
branch), but I was never sure it is not just a random fluke. Now I have a reliable way to reproduce the issue.
$ yay -Cd
-git
package but the smallest package I happen to have now for this example is compton-conf-git
(the AUR dependency is lxqt-build-tools-git
- make sure it is not installed).yay -S compton-conf-git
shows repository dependencies cmake
and qt5-tools
, as well as AUR dependency lxqt-build-tools-git
.
lxqt-build-tools-git
is installed, the installation finishes "successfully".compton-conf-git
is not installed, only its dependencies.yay -S compton-conf-git
again, and this time because all the dependencies are already installed, the compton-conf-git
will actually be installed.To reproduce again: yay -Rs compton-conf-git; yay -Cd
.
I think installation finishes after one successful installation of AUR package, regardless of whether it was just one of dependencies or not.
I remember now that I was installing fonts-meta-extended-lt
which has like 10 of AUR dependencies, and I had to rerun yay -S fonts-meta-extended-lt
10 times before the installation finally finished.
@Jguer more requirements for the upgrade process that I could think of:
When upgrading, yay lists the packages to upgrade and asks Y/n for confirmation. First it lists pacman packages, after upgrading it lists -git
packages, and then after upgrading it lists AUR packages. Yaourt combines these and outputs one list with all these packages at once, and asks for the Y/n confirmation once.
Furthermore, while asking for Y/n confirmation, yaourt allows typing m
and choosing which packages from the list you want to upgrade, and which to skip this time. This applies to packages from any source, pacman or AUR. Right now I have one AUR package that I know has a broken new version, and with yay I cannot upgrade other packages without upgrading this one.
Argument parsing is a mess as it wasn't made for so many options and now it's suppose to interface over with the config structure.
When I ran yay
for the first time, it created a default config file. It works fine, but it has the execute permission bit enabled for some reason. Since it's definitely not a script, I don't think this should be the case.
I'd be happy to fix this if you'd like. I'm relatively confident that this is an accident though, so I might just start working on it.
yaourt -C
, or sudo pacdiffviewer
, checks the system for .pacorig
, .pacnew
, .pacsave
, and orphaned files. If found, it facilitates deleting, merging (with a user-set mergetool), or replacing relevant files.
The script is available on github.
The most important type of file from those listed above is the .pacnew
class.
I would love to see a man page for yay ๐
Currently using pacaur, and I'd like to request a --noedit
flag added to yay. I've got some of my installation process scripted and have a few AUR packages I'd like to continue to have my scripted installations "unattended" if switching to yay.
SYNC OPTIONS
-b, --build
Build from sources, ABS for official packages, or AUR if packages is not found. Specify this option twice to build all dependencies.
The code currently looks in the path ~/.config/yay
for the config.json
file. That's the default location of the environment variable $XDG_CONFIG_HOME
. The advantage of doing so is that users who choose to keep their config in abnormal locations can set the one variable and all of their tools will look in the right place. Since I think the goal is to use the user's configuration directory instead of just dumping crap right in their home directory, it seems like it would fit.
Additionally, changing it would be extremely unlikely to break existing installations, as those two paths should be identical for most users. Of course, if $XDG_CONFIG_HOME
is unset, it should use the current hard-coded path.
I'd be happy to take this on myself if the change is wanted.
For exemple, in LocalStatistics method, the warnings use black background color, and default foreground color. In a white on black term, the message is written black on black !
Line 228 in 1ebe472
fmt.Printf("\x1b[1;31;40mWarning: \x1B[1;33;40m%s\x1b[0;;40m is orphaned.\x1b[0m\n", res.Name)
Feels like the yay
AUR package should really be named yay-git
, while the yay-bin
should be called just yay
. Not sure if it is possible to rename packages, but if you agree on this suggestion, consider doing it earlier than later ๐
Just a suggestion, maybe it's something to do after #17.
You're going to need to use git for Yay -G and other ABS packages
yay -Si is implemented for AUR packages so Repo packages should also have the same privilege.
I don't know about you or other users, but I like yaourt's column-oriented preview of upgrades, showing both the current and upcoming versions/releases of packages, and find it much easier to scan visually than the more block-quote style used by yay.
yay:
Packages (55) alsa-utils-1.1.3-2 aws-cli-1.11.51-1 bash-4.4.012-2 bind-tools-9.11.0.P3-2 btrfs-progs-4.9.1-1 bzip2-1.0.6-6
ca-certificates-mozilla-3.29.1-1 cups-filters-1.13.4-1 dbus-1.10.16-1 fixesproto-5.0+9+g4292ec1-1 fzf-0.16.5-1 glib2-2.50.3-1
gnupg-2.1.18-2 gssproxy-0.6.2-1 imagemagick-6.9.7.9-1 inkscape-0.92.1-1 iproute2-4.10.0-1 kpackage-5.31.0-2 lib32-mesa-17.0.0-1
lib32-mesa-libgl-17.0.0-1 libao-1.2.2-1 libarchive-3.3.0-1 libdatrie-0.2.10-2 linux-4.9.11-1 linux-firmware-20170217.12987ca-1
linux-zen-4.9.11-2 mesa-17.0.0-1 mesa-libgl-17.0.0-1 mesa-vdpau-17.0.0-1 nss-3.29.1-1 perl-net-http-6.13-1 poppler-0.52.0-1
poppler-glib-0.52.0-1 poppler-qt5-0.52.0-1 pyqt5-common-5.8-1 python-botocore-1.5.14-1 python-chardet-2.3.0-4 python-hyperframe-4.0.2-1
python-jsbeautifier-1.6.10-1 python-lxml-3.7.3-1 python-pyqt5-5.8-1 python-sip-4.19.1-1 python2-chardet-2.3.0-4 python2-lxml-3.7.3-1
python2-virtualenv-15.1.0-1 qca-qt4-2.1.3-1 qca-qt5-2.1.3-1 signon-ui-0.17+20150611-1 sip-4.19.1-1 snappy-1.1.4-1
startup-notification-0.12-5 xorg-server-1.19.1-5 xorg-server-common-1.19.1-5 xorg-server-xvfb-1.19.1-5 youtube-dl-2017.02.17-1
yaourt:
==> Package upgrade only (new release):
core/bash 4.4.012-1 1 -> 2
core/bzip2 1.0.6-5 5 -> 6
core/gnupg 2.1.18-1 1 -> 2
extra/alsa-utils 1.1.3-1 1 -> 2
extra/bind-tools 9.11.0.P3-1 1 -> 2
extra/kpackage 5.31.0-1 1 -> 2
extra/libdatrie 0.2.10-1 1 -> 2
extra/python2-chardet 2.3.0-3 3 -> 4
extra/python-chardet 2.3.0-3 3 -> 4
extra/startup-notification 0.12-4 4 -> 5
extra/xorg-server 1.19.1-2 2 -> 5
extra/xorg-server-common 1.19.1-2 2 -> 5
extra/xorg-server-xvfb 1.19.1-2 2 -> 5
aur/qtwebkit 2.3.4-4 4 -> 5
==> Software upgrade (new version) :
core/btrfs-progs 4.9-1 -> 4.9.1-1
core/ca-certificates-mozilla 3.28.1-1 -> 3.29.1-1
core/dbus 1.10.14-1 -> 1.10.16-1
core/glib2 2.50.2-1 -> 2.50.3-1
core/gssproxy 0.6.1-1 -> 0.6.2-1
core/iproute2 4.9.0-1 -> 4.10.0-1
core/libarchive 3.2.2-4 -> 3.3.0-1
core/linux 4.9.8-1 -> 4.9.11-1
core/linux-firmware 20161222.4b9559f-2 -> 20170217.12987ca-1
core/nss 3.28.1-1 -> 3.29.1-1
extra/cups-filters 1.13.3-1 -> 1.13.4-1
extra/fixesproto 5.0-3 -> 5.0+9+g4292ec1-1
extra/imagemagick 6.9.7.8-1 -> 6.9.7.9-1
extra/inkscape 0.92.0-6 -> 0.92.1-1
extra/libao 1.2.0-1 -> 1.2.2-1
extra/linux-zen 4.9.9-1 -> 4.9.11-2
extra/mesa 13.0.4-1 -> 17.0.0-1
extra/mesa-libgl 13.0.4-1 -> 17.0.0-1
extra/mesa-vdpau 13.0.4-1 -> 17.0.0-1
extra/perl-net-http 6.12-1 -> 6.13-1
extra/poppler 0.51.0-1 -> 0.52.0-1
extra/poppler-glib 0.51.0-1 -> 0.52.0-1
extra/poppler-qt5 0.51.0-1 -> 0.52.0-1
extra/pyqt5-common 5.7.1-3 -> 5.8-1
extra/python2-lxml 3.7.2-1 -> 3.7.3-1
extra/python2-virtualenv 15.0.3-2 -> 15.1.0-1
extra/python-lxml 3.7.2-1 -> 3.7.3-1
extra/python-pyqt5 5.7.1-3 -> 5.8-1
extra/python-sip 4.19-1 -> 4.19.1-1
extra/qca-qt4 2.1.1-7 -> 2.1.3-1
extra/qca-qt5 2.1.1-7 -> 2.1.3-1
extra/signon-ui 0.17+15.10.20150810-2 -> 0.17+20150611-1
extra/sip 4.19-1 -> 4.19.1-1
extra/snappy 1.1.3-2 -> 1.1.4-1
community/aws-cli 1.11.48-1 -> 1.11.51-1
community/fzf 0.16.4-1 -> 0.16.5-1
community/python-botocore 1.5.11-1 -> 1.5.14-1
community/python-hyperframe 4.0.1-2 -> 4.0.2-1
community/python-jsbeautifier 1.6.9-1 -> 1.6.10-1
community/youtube-dl 2017.02.14-1 -> 2017.02.17-1
multilib/lib32-mesa 13.0.4-2 -> 17.0.0-1
multilib/lib32-mesa-libgl 13.0.4-2 -> 17.0.0-1
In Manjaro Linux the latest wpa_supplicant update was from version 1:2.6-8.1 to 1:2.6-11.
This caused a problem because in mikkeloscar's gopkgbuild this was not allowed resulting in this
wpa_supplicant strconv.Atoi: parsing "8.1": invalid syntax
0 core/wpa_supplicant panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x63ceaa]
goroutine 1 [running]:
main.upSlice.Print(0xc4201c8000, 0x1, 0x1, 0x0)
/home/jguer/go/src/github.com/jguer/yay/upgrade.go:82 +0x49a
main.upgradePkgs(0x0, 0x0, 0x0, 0x0, 0x0)
/home/jguer/go/src/github.com/jguer/yay/upgrade.go:292 +0x1de
main.main()
/home/jguer/go/src/github.com/jguer/yay/cmd.go:245 +0x898
I addressed this issue with mikkeloscar and he fixed it by using a Version struct instead of an int for pkgrel in this PR.
This requires a small adjustment in yay for printing it correctly.
I'm on the dev
branch. Pretty sure it's not a duplicate ๐
โฏ yay -Cd
cargo: 7MB
cmake: 30MB
dhclient: 1MB
gendesk: 5MB
gnome-themes-standard: 4MB
grunt-cli: 0MB
libdvdcss: 0MB
libutempter: 0MB
mcpp: 0MB
ntfs-3g: 1MB
opencolorio: 2MB
perl-image-exiftool: 10MB
phonon-qt5-gstreamer: 0MB
python2-pyopenssl: 0MB
qt5-tools: 18MB
speech-dispatcher: 1MB
==> Confirm Removal? [Y/n] y
/usr/bin/pacman: unrecognized option '--noutil.Conf.rm'
exit status 1
When you yay -Syu --devel
yay should check if the latest commit has a different SHA than the installed version and update accordingly.
Steps:
Hitting tab should also complete from AUR.
375f4d7 adds a primitive function to yay and fish where every autocomplete GETs the package list from the AUR.
The plan
~/.cache
and return the autocomplete list.pacman -Ss npth
core/npth 1.4-1 [installed]
New portable threads library
community/mingw-w64-winpthreads 5.0.2-1 (mingw-w64-toolchain mingw-w64)
MinGW-w64 winpthreads library
yay -Ss npth
aur/npth-git 1.2+3_ga49a061-1 (2)
A library to provide the GNU Pth API and thus a non-preemptive threads implementationA IPC library used by some GnuPG related software (git version).
aur/mingw-w64-winpthreads-git 4.0.rc1.r7.gc440466-1 (5) (Orphaned)
MinGW-w64 winpthreads library
community/mingw-w64-winpthreads 5.0.2-1 (mingw-w64-toolchain,mingw-w64)
MinGW-w64 winpthreads library
This one's really interesting. 1.115
I have a very large number of AUR packages installed on my machine (most of them from https://aur.archlinux.org/packages/ros-lunar-desktop-full/, which is massive). When I try yay -Syu
to update all packages (AUR and official repos), the GET
request to the AUR RPC fails: The server closes the connection, sends GOAWAY
, and gives error code ENHANCE_YOUR_CALM
(as a side note, I was very pleased to discover that HTTP/2 has these wonderful error codes).
I haven't been able to debug this at all yet, but I would presume that it occurs because yay
makes a single query for all packages. Perhaps making several queries limited at a certain number of packages each would be more robust?
For what it's worth, I've been using yaourt
and pacaur
with no trouble with the same set of packages.
$ yay -Cd
gtk-engine-murrine: 0MB
made me think it was a null / empty package or worse.
but it's just that yay only knows whole MB? (i couldn't find option / flag in help)
Installed Size : 295.00 KiB
(in fact yaourt, pacman prefer Mib, Kib notation?)
For example, numix-circle-icon-theme-git
Full log
https://gist.github.com/afg984/f2b5ab210eecffb71065bd1e2295e335
It would be handy if yay respected --needed
for AUR-based packages, too.
Take for example the Gogland PKGBUILD: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=gogland
Upgrading it should resolve the update step for both, gogland
and gogland-jre
, instead it offers to install the thing twice.
==> Installing gogland
==> Edit PKGBUILD? [y/N]
==> Making package: gogland 173.3415.23-1 (Do 26. Okt 15:34:23 CEST 2017)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Downloading gogland-173.3415.23.tar.gz...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 154 100 154 0 0 154 0 0:00:01 --:--:-- 0:00:01 875
100 199M 100 199M 0 0 18.1M 0 0:00:11 0:00:11 --:--:-- 19.7M
-> Found jetbrains-gogland.desktop
==> Validating source files with sha512sums...
gogland-173.3415.23.tar.gz ... Passed
jetbrains-gogland.desktop ... Passed
==> Extracting sources...
-> Extracting gogland-173.3415.23.tar.gz with bsdtar
==> Entering fakeroot environment...
==> Starting package_gogland()...
==> Tidying install...
-> Removing libtool files...
-> Purging unwanted files...
-> Removing static library files...
-> Compressing man and info pages...
==> Checking for packaging issue...
==> Creating package "gogland"...
-> Generating .PKGINFO file...
-> Generating .BUILDINFO file...
-> Generating .MTREE file...
-> Compressing package...
==> Starting package_gogland-jre()...
==> Tidying install...
-> Removing libtool files...
-> Purging unwanted files...
-> Removing static library files...
-> Compressing man and info pages...
==> Checking for packaging issue...
==> Creating package "gogland-jre"...
-> Generating .PKGINFO file...
-> Generating .BUILDINFO file...
-> Generating .MTREE file...
-> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: gogland 173.3415.23-1 (Do 26. Okt 15:34:44 CEST 2017)
==> Installing gogland package group with pacman -U...
loading packages...
resolving dependencies...
looking for conflicting packages...
Packages (2) gogland-173.3415.23-1 gogland-jre-173.3415.23-1
Total Installed Size: 497.52 MiB
Net Upgrade Size: 1.37 MiB
:: Proceed with installation? [Y/n]
(2/2) checking keys in keyring [################################################] 100%
(2/2) checking package integrity [################################################] 100%
(2/2) loading package files [################################################] 100%
(2/2) checking for file conflicts [################################################] 100%
(2/2) checking available disk space [################################################] 100%
:: Processing package changes...
(1/2) upgrading gogland [################################################] 100%
(2/2) upgrading gogland-jre [################################################] 100%
cd :: Running post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Updating the desktop file MIME type cache...
==> Installing gogland-jre
==> Directory exists. Clean Build? [y/N]
==> Edit PKGBUILD? [y/N]
==> WARNING: The package group has already been built, installing existing packages...
==> Installing gogland package group with pacman -U...
loading packages...
warning: gogland-173.3415.23-1 is up to date -- reinstalling
warning: gogland-jre-173.3415.23-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...
Packages (2) gogland-173.3415.23-1 gogland-jre-173.3415.23-1
Total Installed Size: 497.52 MiB
Net Upgrade Size: 0.00 MiB
:: Proceed with installation? [Y/n]
(2/2) checking keys in keyring [################################################] 100%
(2/2) checking package integrity [################################################] 100%
(2/2) loading package files [################################################] 100%
(2/2) checking for file conflicts [################################################] 100%
(2/2) checking available disk space [################################################] 100%
:: Processing package changes...
(1/2) reinstalling gogland [################################################] 100%
(2/2) reinstalling gogland-jre [################################################] 100%
:: Running post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Updating the desktop file MIME type cache...
I saw you have this on the projects page, I'm creating this issue for tracking purposes, something to subscribe to, in order to get updates when this works begins.
When installing or upgrading packages, it would be really nice to get all the questions asked first (do I want to edit PKGBUILD, install dependencies, confirm conflicting package replacement, etc.), answer to all of them in one go and let the installation proceed without further interruption.
How can i choose my preferred editor? By default, yay
opens PKGBUILD's in vi
.
Hi,
I've been testing Yay with great results. However, I never get the "Enter packages you do not want to upgrade" question when I call yay -Syu
(as in this image ).
Am I doing something wrong?
(maybe this should be an aur comment instead)
arch=('i686' 'x86_64' 'arm')
$ makepkg -s
==> ERROR: yay is not available for the 'armv7h' architecture.
it builds fine with
arch=('i686' 'x86_64' 'armv7h')
i notice yaourt uses
arch=('any')
When I run yay -h
, I'm prompted for my sudo password.
This is not the case when I run yay --help
.
I can't think why help messages should require sudo access, so I'm assuming that this is a bug?
I'm running 4b78c23
, which is the current master commit. If this is a bug, I'd be happy to take a stab at correcting it myself.
The bloat is here.
Plan for config file:
Options:
Dependency management is a critical part in the install process of packages, pacman's approach is seemingly to install packages with their dependencies in one go since they're prebuilt.
Most AUR packages require build dependencies without which the install process will fail.
The proposed solution for this problem in yay is creating an install graph and installing by tiers.
The user selects what packages he wants to install from the yay menu.
The install package will be fed a slice of AUR packages and Repo packages.
These AUR and Repo packages will be tier 1, tier 1 is for explicitly installed packages.
If a tier 1 package is a dependency to another tier 1 package it will be installed on another tier and made an explicitly installed.
Already installed packages will be ignored.
Example:
To install yaourt-git (AUR) and caja (repo)
Final result after processing, git and pacman were already installed.
|----------------------Tier 1--------------------------|
| caja yaourt-git |
|------------------------------------------------------|
|----------------------Tier 2--------------------------|
| package-query-git |
| exempi gvfs libexif libsm mate-desktop libnotify |
|------------------------------------------------------|
|----------------------Tier 3--------------------------|
| yajl gcc-libs expat zlib |
| avahi dconf fuse libarchive libcdio-paranoia libsoup |
| udisks2 libsecret libbluray libgudev gcr psmisc |
| .... |
|------------------------------------------------------|
|----------------------Tier 4--------------------------|
| glibc fuse-common |
| .... |
|------------------------------------------------------|
Before install all tiers are shown to the user along with tier size for approval. After approval the user will only be prompted again at the tier 1 install. Rejecting the tier 1 install will remove the whole tree.
Important points for implementation:
PKGBUILD
a new .SRCINFO
will need to be generatedtype Node interface {
Type() //AUR or Repo (there probably is a better way, awaiting revision)
}
For the implementation of a reverse BFS, the graph will have a tier 0 (dummy head).
.SRCINFO
parsing since it is the only one that accounts for split packages.I'm running code from the dev
branch.
โฏ yay -Syu
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
:: Starting full system upgrade...
warning: sakura: local (3.4.0-2) is newer than community (3.3.4-2)
warning: zsh: ignoring package upgrade (5.2-2 => 5.3.1-2)
there is nothing to do
:: Starting AUR upgrade...
Checking 61/61 packages...
==> cerebro: 0.2.8-1 -> 0.2.8-1
==> dunst-git: 1.1.0.221.g1d0bfb2.826-1 -> 1.1.0.221.g1d0bfb2.826-1
==> fonts-meta-base: 1-2 -> 1-2
==> fonts-meta-extended-lt: 2-2 -> 2-2
==> jdk7: 7u79-4 -> 7u79-4
==> kubectl-bin: 1.6.3-1 -> 1.6.4-1
==> python-pygame: 1.9.3-2 -> 1.9.3-2
==> python-tqdm: 4.11.2-1 -> 4.11.2-1
==> python2-tqdm: 4.11.2-1 -> 4.11.2-1
==> slack-desktop: 2.6.0-1 -> 2.6.2-1
==> ttf-merriweather: 2.001-1 -> 2.001-1
==> ttf-merriweather-sans: 1.006-3 -> 1.006-3
==> ttf-quintessential: 1.001-3 -> 1.001-3
==> wire-desktop-beta: 2.13.2741-1 -> 2.14.2743-1
==> Proceed with upgrade? [Y/n]
See for example cerebro: 0.2.8-1 -> 0.2.8-1
and similar - why does it suggest to upgrade if the versions are the same?
โฏ yaourt -Syua
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
Foreign packages: / 61 / 61
==> Software upgrade (new version) :
aur/kubectl-bin 1.6.3-1 -> 1.6.4-1
aur/slack-desktop 2.6.0-1 -> 2.6.2-1
aur/wire-desktop-beta 2.13.2741-1 -> 2.14.2743-1
==> Continue upgrade ? [Y/n]
Yaourt attempts to upgrade fewer packages.
Hi all.
Yay seem good to me now, thanks for created it. But some time i want to upgrade all packages installed from aur, any command such as with yaourt yaourt -Syyu --aur
.
Many thanks.
What does work is -V
, but it only prints out the pacman version information. It would be nice to show yay's version, too.
One thing I liked from yaourt is that it showed the current version of packages, alongside the new ones available. It's pretty nice to know when it's just a bug fix or a major version bump, which motivates me to go look for the changelog.
i have an error : /home/dsh/.zsh/yay-competion.zsh:68: no matches found: *-d[Skip dependency checks]
.
It this line : 68 _pacman_opts_remove=(
yay 1.95
Here are some searches that act surprisingly differently from yaourt:
Args | Yaourt Results | Yay Results |
---|---|---|
yay compiled | 1 | 2 |
firefox kde | 2 | 304 |
simple kde | 21 | 1816 |
yay 2.152
While -Si
still works, with repo packages (but not AUR) it now prepends the usual output with
No request type/data specified.
and then requires sudo privileges to proceed.
Yay should parse and respect 'ignore' lists in pacman.conf - users put those package names in there for a reason, so yay should not try to update something that the user clearly does not want to have updated.
hello thanks now the comletions work but :
_tags:comptags:36: can only be called from completion function
_tags:comptry:55: can only be called from completion function
_tags:comptags:60: can only be called from completion function
Imagine the following: you upgrade a certain package to a version X
and discover that it has a nasty bug. You report the issue on the corresponding bug tracker and install the previous version X-1
of the package, waiting for the bug to be fixed. If you do nothing, you keep seeing yay
suggesting you to upgrade from X-1 -> X
.
Now, you don't want to see suggestions to upgrade X-1 -> X
, so you add the package to the ignore
list in pacman, and yay
doesn't attempt to upgrade it anymore, instead it prints a shiny message warning: PKG (ignored pkg) ignoring upgrade (X-1 -> X)
.
But this makes user responsible to remember to "unignore" it once a new version is released - this is annoying to manually look after this message becoming ... (X-1 -> X+1)
one day.
What I would like to see is some kind of ignore
config in the Yay itself, that will allow me to specify the version X
that I don't want to upgrade to. Once there is a version X+1
available, I want yay
to automatically detect this and make it very visible, that this package has a new X+1
version and I should try to upgrade to it to see if the bug is fixed.
This is obviously open for discussion, maybe you have a different approach to handle such cases?
Sometimes more than one package provides the dependency. Displaying a menu with options would be nice.
Example: jre
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.