Git Product home page Git Product logo

amethyst's People

Contributors

antiz96 avatar axtloss avatar bittin avatar fries1234 avatar henrybarreto avatar hericiumvevo avatar mrshmllow avatar somethinggeneric avatar trivernis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

amethyst's Issues

[RFC]: Hide the AUR behind a CLI argument, or an additional y/n menu

Date proposed

09/17/2022

Link to merge request if applicable

No response

Short summary

Currently, Amethyst searches the AUR on every operation if the official repositories don't have a package available.

Motivation

The AUR is a collection of user-made scripts, and isn't always thoroughly verified by users before installation. Having Amethyst notify the user of the drawbacks of the AUR before using it would mitigate this slightly.

Changes

Before checking the AUR for packages to install, use an additional y/n menu (which would ideally default to N, but probably best to set it to Y instead) before checking the AUR for packages to install/using the search function.

This wouldn't affect the updating mechanism for AUR packages, only installation, and possibly searching.

Drawbacks

It would make the process for installing AUR packages slightly more involved, but not by much.

Alternatives

Blocking the AUR functionality in a configuration file would work as well, or have it enabled during the build process. The latter would allow for distributions to use Amethyst, without needing to worry about supporting the AUR.

If the AUR is disabled in Amethyst during build-time, the ame -h/-v command would show a note about it not having AUR functionality.

Unanswered questions

no response

[FEATURE REQUEST]: Don't continue on to upgrading AUR packages if repo upgrade fails

Describe the bug

Currently, Amethyst will attempt to upgrade its AUR packages if the repo update fails, such as due to a network error. This shouldn't be the case.

To reproduce the bug

Run ame upg without internet access

Amethyst will proceed to fail to upgrade the repo packages, but then ask to try upgrading the AUR packages.

Expected behavior

It should notify the user of a potential network error, and refuse to move onto upgrading the AUR.

Screenshots

image

Additional context

No response

[BUG]: checkdepends aren't installed when trying to install an aur package

Describe the bug

When trying to install an AUR package, some packages have a check() function. This function always runs when you run makepkg so you have no way to avoid it. If you're missing some checkdeps, then the check() function will fail and the package will fail to build as a result. I'd say this is a bug as checkdeps are required for a package to build and the other AUR helpers like paru and yay install these.

To reproduce the bug

  1. Find an AUR package with checkdeps that aren't already installed on your computer.
  2. Try to install the package
  3. It will fail because it doesn't have the required deps

Expected behavior

I excepted amethyst to install all the deps that are required to build a package.

Screenshots

No response

Additional context

No response

[FEATURE]: Build and install from git url

Is your feature request related to a problem? Please describe.

Not really, it would just be nice

Describe the solution you'd like

ame ins git:<git url> maybe? Or ame ins -g <url> so that users don't do it unintentionally?

Describe alternatives you've considered

n/a

Additional context

No response

[BUG]: Timeout issue

Describe the bug

New install, wanted to try out Amethyst for the first time since I'm used to yay.

Just typed: ame

Updates started etc. Then since it got stuck on ❖ Successfully upgraded repo packages, I knew something was off.

To reproduce the bug

  1. Installed clean Crystal for the first time.
  2. Opened terminal and wrote ame

Expected behavior

Update and then done.

Screenshots

No response

Additional context

Did some debugging and found:

jkw@Odin ~]$ ame install -v update-grub
⌘ Cleaned: ["update-grub"]
  Into: ["update-grub"]
⌘ Initialized alpm handler
⌘ Sorting: "update-grub"
The application panicked (crashed).
Message:  called `Result::unwrap()` on an `Err` value: Rpc(HTTP(reqwest::Error { kind: Request, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("aur.archlinux.org")), port: None, path: "/rpc/", query: Some("arg%5B%5D=update-grub&v=5&type=info"), fragment: None }, source: hyper::Error(Connect, ConnectError("tcp connect error", Os { code: 110, kind: TimedOut, message: "Connection timed out" })) }))
Location: src/internal/sort.rs:16

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

   0: ame::internal::sort::sort with input=["update-grub"] options=Options { noconfirm: false, quiet: false, asdeps: false, upgrade: false }
      at src/internal/sort.rs:6
   1: ame::cmd_install with args=InstallArgs { packages: ["update-grub"], aur: false, repo: false, search: false, by: None } options=Options { noconfirm: false, quiet: false, asdeps: false, upgrade: false }
      at src/main.rs:78

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.

[BUG]: Subcommands in the --help stdout don't look like the options stdout

Describe the bug

The subcommands seem to have a bit of a typo, they're missing a comma to separate the pacman-style commands from plain english.

To reproduce the bug

Run ame --help

Expected behavior

The subcommands --help area would look similar to the options area.

Screenshots

No response

Additional context

❯ ame --help
Amethyst 4.0.0 (Funky Fish)
A fast and efficient AUR helper

USAGE:
    ame [OPTIONS] [SUBCOMMAND]

OPTIONS:
    -c, --cachedir <CACHEDIR>    Sets a custom AUR clone and build directory for the specified operation
    -h, --help                   Print help information
        --noconfirm              Complete operation without prompting user
    -q, --quiet                  Make some commands have less output
        --sudoloop               Loops sudo in the background to ensure it doesn't time out during long builds
    -v, --verbose                Sets the level of verbosity
    -V, --version                Print version information

SUBCOMMANDS:
    clean -C      Removes all orphaned packages
    diff -d       Runs pacdiff
    gencomp -G    Generates shell completions for supported shells (bash, fish, elvish, pwsh)
    help          Print this message or the help of the given subcommand(s)
    query -Q      Queries installed packages
    remove -R     Removes a previously installed package [aliases: rm]
    search        Searches for packages matching a provided pattern in the AUR/repos [aliases: -Ss]
    sync -S       Installs or searches for a package in either the AUR or the Pacman-defined repositories
                      [aliases: install, i]
    upgrade       Upgrades locally installed packages to their latest versions (Default) [aliases: -Syu]

This should instead be:

❯ ame --help
Amethyst 4.0.0 (Funky Fish)
A fast and efficient AUR helper

USAGE:
    ame [OPTIONS] [SUBCOMMAND]

OPTIONS:
    -c, --cachedir <CACHEDIR>    Sets a custom AUR clone and build directory for the specified operation
    -h, --help                   Print help information
        --noconfirm              Complete operation without prompting user
    -q, --quiet                  Make some commands have less output
        --sudoloop               Loops sudo in the background to ensure it doesn't time out during long builds
    -v, --verbose                Sets the level of verbosity
    -V, --version                Print version information

SUBCOMMANDS:
    clean, -C      Removes all orphaned packages
    diff, -d       Runs pacdiff
    gencomp, -G    Generates shell completions for supported shells (bash, fish, elvish, pwsh)
    help          Print this message or the help of the given subcommand(s)
    query, -Q      Queries installed packages
    remove, -R     Removes a previously installed package [aliases: rm]
    search        Searches for packages matching a provided pattern in the AUR/repos [aliases: -Ss]
    sync, -S       Installs or searches for a package in either the AUR or the Pacman-defined repositories
                      [aliases: install, i]
    upgrade       Upgrades locally installed packages to their latest versions (Default) [aliases: -Syu]

[FEATURE]: Warn about package interventions before upgrade (news)

Is your feature request related to a problem? Please describe.

Sometimes, Arch might have a manual package intervention that you would have to do to upgrade. These are posted on the arch website, which sometimes you might forget to check before upgrading your system. Having the program warn you about package interventions before upgrading if there's a new news post up would be nice as it makes life a lot easier.

Describe the solution you'd like

Arch has an RSS feed for their news posts. We could use this feed and check if there's a new post and tell the user about it. We would have to find a way to store if the user has read the post or not so the program wont warn you if there's a new news post if you already read the news post.

Describe alternatives you've considered

I haven't considered any alternatives.

Additional context

No response

[BUG]: A failure occurred in build()

Describe the bug

I tried installing this using yay on Manjaro and received the error message:

~/.cache/yay/ame/PKGBUILD: line 32: cd: ~/.cache/yay/ame/src/ame: No such file or directory

==> ERROR: A failure occurred in build().
Aborting...

To reproduce the bug

1.) Type "yay -S ame"
2.) Receive aborting message

Expected behavior

I expected it to build the ame package

Screenshots

No response

Additional context

I went into the PKGBUILD file and edited lines 32 and 39 to accomidate for the folder being named "amethyst." After manually running the makepkg command in the "~/.cache/yay/ame" dir, it works as expected.

[BUG]: gets stuck after `❖ Successfully upgraded repo packages`

Describe the bug

Ame gets stuck after ❖ Successfully upgraded repo packages, until I ctrl + c. yay/etc work fine.

To reproduce the bug

  1. ame or ame u
  2. observe

Expected behavior

Ends/updates AUR

Screenshots

➜  ~ ame
❖ Performing system upgrade
doas (kainoa@catalina) password: 
:: Synchronizing package databases...
 endeavouros is up to date
 testing is up to date
 core is up to date
 fcgu is up to date
 extra is up to date
 community-testing is up to date
 community is up to date
 multilib is up to date
:: Starting full system upgrade...
warning: adwaita-icon-theme: local (43.0-0.1) is newer than extra (43-1)
warning: gnome-desktop: local (1:43.0-0.1) is newer than extra (1:43-1)
warning: gnome-desktop-4: local (1:43.0-0.1) is newer than extra (1:43-1)
warning: gnome-desktop-common: local (1:43.0-0.1) is newer than extra (1:43-1)
 there is nothing to do
❖ Successfully upgraded repo packages

Additional context

Arch Linux (vanilla, not crystal)

[FEATURE]: ame query should only grep package names

Is your feature request related to a problem? Please describe.

It's not super helpful to have to ame query linux | grep <some repo> to just get package names. linux is a good arg example since it hits tons of packages in their description fields

Describe the solution you'd like

Maybe a flag to enable searching descriptions too?

Describe alternatives you've considered

I can't think of a use-case where ignoring desc as search criteria would be bad, but maybe there is one?

Additional context

No response

[BUG]: Erroneous “Some packages are already installed” prompt on AUR upgrade

Describe the bug

On upgrading AUR packages, it'll prompt you that Some packages are already installed and prompt you whether to install them still.

To reproduce the bug

  1. From latest branch, ame upg with upgraded AUR deps

Expected behavior

It'll ask you if you want to install the packages, but not prompt to continue because packages are already installed

Screenshots

image

Additional context

No response

[BUG]: Amethyst shows packages rather than package when upgrading single packages

Describe the bug

When I got to upgrade, it'll show "packages" rather than "package" when I need to update just one app.

To reproduce the bug

  1. Have only one out-of-date AUR package
  2. ame or ame upg

Expected behavior

Spelling would be correct and show "package" when only one package is needing to be updated

Screenshots

https://cdn.discordapp.com/attachments/843147448917950485/1013695959273848842/unknown.png

Additional context

No response

[FEATURE]: Ability to view PKGBUILDS

Is your feature request related to a problem? Please describe.

Sometimes the user wants to verify, or perhaps learn how a PKGBUILD is written.

Describe the solution you'd like

For each searched/listed package, there should be an ability to view for example by pressing [W] its PKGBUILD file, so that if the user wants they can optionally have a look at it and review if it meets their requirements.

Describe alternatives you've considered

One could manually search this through the aur website, but viewing PKGBUILDs through the command line with the help of an AUR helper would be much more convenient.

Additional context

AUR helpers like auracle had this feature with the command show , but it's no longer updated.

[FEATURE]: Install PKGBUILD's from local paths

Is your feature request related to a problem? Please describe.

Like if you have a local copy of a PKGBUILD, you could use Amethyst to install them. Thinking about how to implement something like this, maybe we could uh copy the files to a cache folder or something?

Describe the solution you'd like

Something like ame ins --path . (like cargo install --path).

Describe alternatives you've considered

I don't really know any alternate solutions of how you could implement this into amethyst. I guess you could use makepkg -si.

Additional context

No response

[FEATURE]: Allow installing package groups

Is your feature request related to a problem? Please describe.

Currently when trying to install any package group like gnome, amethyst just says that the package couldn't be found, but pacman can install it without any issues.

Describe the solution you'd like

Amethyst should be able to install package groups using pacman

Describe alternatives you've considered

just using pacman, but that can be a bit troublesome since I don't always know when something is a package group

Additional context

No response

[BUG]: Use `vercmp` in `upgrade.rs`

Describe the bug

Currently, some -git packages perpetually attempt to update as we check for a mismatch, rather than using vercmp to compare and order versions

To reproduce the bug

  1. These packages are affected:
  • premid-git
  • ttf-mplus-git

Via viruz#9907 on Discord

Expected behavior

Amethyst should compare and order versions using vercmp

Screenshots

Bug in action

image

Relevant code

image

Additional context

No response

[FEATURE]: Customize how fast amethyst queries the AUR

Is your feature request related to a problem? Please describe.

Amethyst is slow to query the aur for upgrades and waits for version information before continuing.

Describe the solution you'd like

By being able to make multiple requests at a time this could cut down the time it takes to perform AUR upgrades. Make this a variable so that the user can specify how intensely they want to query the AUR to compare versions.

Describe alternatives you've considered

Wait.

Additional context

let rpc_result = rpcinfo((&*pkg.name).to_string());

[BUG]: Amethyst takes a long time checking AUR

Describe the bug

Hi, there.

Thanks for creating and maintaining Crystal Linux and all its tools. Currently my daily driver is Garuda Gnome (I have installed it long before Crystal was available) and I was checking alternatives for paru, so I decided to try ame using the AUR package. But, for some reason, it always takes a long time checking AUR. I searched the repo and found #20, but either it was much worse in the past or simply it is not working as it should here.

Is it a problem with the AUR package, something needs to be changed in the config file or a known bug?

Regards

To reproduce the bug

  1. Install ame
  2. Run ame
  3. ame takes a long time checking AUR

Expected behavior

Step 3 above should not take too long. At least here, paru is very fast, almost as fast as when checking the stock repositories.

Screenshots

N/A

Additional context

$ ame --version
Amethyst 4.0.3 (Funky Fish)

$ cat ~/.config/ame/config.toml                              
# See https://getcryst.al/docs/amethyst/config for more information on config keys

[base]
pacdiff_warn = true

[bin]
sudo = 'sudo'

$ time paru
:: Synchronizing package databases...
 garuda is up to date
 core is up to date
 extra is up to date
 community is up to date
 multilib is up to date
 chaotic-aur is up to date
:: Starting full system upgrade...
 there is nothing to do
:: Looking for AUR upgrades...
:: Looking for devel upgrades...
:: packages not in the AUR: muonssh
 there is nothing to do
paru  1,68s user 0,08s system 59% cpu 2,948 total


$ time ame 
❖ Performing system upgrade
:: Synchronizing package databases...
 garuda is up to date
 core is up to date
 extra is up to date
 community is up to date
 multilib is up to date
 chaotic-aur is up to date
:: Starting full system upgrade...
 there is nothing to do
❖ Successfully upgraded repo packages
! Could not find the remote package for muonssh
❖ No upgrades available for installed AUR packages
❖ Scanning for .pacnew files post-upgrade
  No .pacnew files found                                                                                                                                                                                       
ame  2,60s user 0,15s system 7% cpu 38,186 total



[BUG]: Amethyst scans for `.pacnew` after every operation

Describe the bug

Amethyst scans for .pacnew files after every operation, prompting for sudo even after operations that don't need sudo permissions (e.g., ame info)

To reproduce the bug

  1. cargo run -- info linux at latest commit

Expected behavior

It should only prompt to check .pacnew files after a package upgrade, as that's the only way .pacnew files can be installed

Screenshots

image

Additional context

No response

[FEATURE]: Polkit

Is your feature request related to a problem? Please describe.

be cool to have agnostic ways to elevate that integrates well with the desktop

Describe the solution you'd like

polkit

Describe alternatives you've considered

none

Additional context

No response

[BUG]: panics using gencomp

Describe the bug

No response

To reproduce the bug

  1. use -G
  2. Cry

Expected behavior

comps are gen'ed

Screenshots

image

Additional context

No response

[RFC]: Warn about package interventions before upgrade (news)

Date proposed

09/21/2022

Link to merge request if applicable

No response

Short summary

I would like amethyst to warn about package interventions before an upgrade. Kind of like eselect news.

Motivation

Sometimes, Arch might have a manual package intervention that you would have to do to upgrade. These are posted on the arch website, which sometimes you might forget to check before upgrading your system. Having the program warn you about package interventions before upgrading if there's a new news post up would be nice as it makes life a lot easier.

Changes

Arch has an RSS feed for their news posts. We could use this feed and check if there's a new post and tell the user about it. We would have to find a way to store if the user has read the post or not so the program wont warn you if there's a new news post if you already read the news post.

Drawbacks

I guess extra prompts you have to go through before an ugprade.

Alternatives

Not that I know of.

Unanswered questions

I don't have any unanswered questions.

[BUG]: Amethyst fails on updating mesa-git

Describe the bug

When I update my packages (or install mesa-git from the AUR) it'll fail, and mention that it can't find llvm-libs=14.0.6

To reproduce the bug

ame ins mesa-git

This issue is not experienced if I clone the PKGBUILD from the AUR and run makepkg -si myself.

Expected behavior

Amethyst will check for dependencies properly, and build mesa-git

Screenshots

https://cdn.discordapp.com/attachments/843147448917950485/1013695329574600764/unknown.png

Additional context

I think it might be due to Amethyst taking the package dependency too literally, although I'm not sure. I'll take a look at the source code myself later.

[FEATURE]: Install from source of Github

Is your feature request related to a problem? Please describe.

Not everyone is familiar with Github, and doesn't know how to install ame from source.

Describe the solution you'd like

Please insert in README.MD, how to install Amethyst on Arch Linux or derivatives.

Describe alternatives you've considered

thanks!

Additional context

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.