Giter Site home page Giter Site logo

actionless / pikaur Goto Github PK

View Code? Open in Web Editor NEW
850.0 20.0 85.0 6.21 MB

AUR helper with minimal dependencies. Review PKGBUILDs all in once, next build them all without user interaction.

License: GNU General Public License v3.0

Python 92.99% Shell 4.95% Makefile 1.05% Dockerfile 0.96% Vim Script 0.05%
aur arch-linux aur-helper

pikaur's Issues

Nuitka vs Setuptools?

currently PKGBUILD producing a single binary via nuitka

however pikaur has setup.py so can be installed as classical python package (but still package will create pikaur entrypoint to be called as executable)

Allow for unattended installation

However dangerous it may be, in certain situations unattended package installation is very helpful. For example automatic provisioning of a sandbox VM.

It would be great if pikaur could provide options like pacaur's --no-edit and --no-confirm options.

Large diffs break non interactive mode

Normally we should be able to just run --noconfirm --noedit and then pikaur would do everything without needing any input from the user.

This is not the case when we do the git diff in review_build_files and the diff is larger than the size of the terminal, because it opens git diff in a pager when stdout is a tty.

We should use the --exit-code option of git diff, which disables pagers, when using one of the options mentioned above.

pikaur gets confused by unity-editor

Trying to install unity-editor results in the following message from pikaur:

Command "sudo pacman --upgrade --noconfirm /home/sami/.cache/pikaur/build/unity-editor/unity-editor-1:2017.3.1f1+20180216-1-x86_64.pkg.tar' # Prevent compressing of the final package

--download-location="${startdir}" \

--install-location="${pkgdir}${_prefix}" \

yes | unity-setup --components=$1 > "/tmp/$1.log"

sed -i "/^Version=/c\Version=${_version}${_build}" "${srcdir}/unity-editor.desktop" failed to execute.

It seems that it might be getting confused by the PKGEXT= line.

Resolving dependencies issue

pikaur has problem with dependencies resolution for some packages.

Installing with pikaur

pikaur -S seafile-client

resolving dependencies...
Reading repository package databases...
Reading local package database...
Version mismatch:
 seafile-client depends on: 'seafile=6.1.5'
 found in 'aur': '6.1.5-2'

same installed with pacaur:

pacaur -S seafile-client
:: Package seafile-client not found in repositories, trying AUR...
:: resolving dependencies...
:: looking for inter-conflicts...

AUR Packages  (4) ccnet-6.1.5-3  libsearpc-1:3.0.8-2  seafile-6.1.5-2  seafile-client-6.1.5-2
Repo Packages (1) python2-simplejson-3.13.2-1

Repo Download Size:   0.00 MiB
Repo Installed Size:  0.37 MiB

:: Proceed with installation? [Y/n]
[...]

Crash when VISUAL env variable is set

Just tried to install a package with pikaur after reading reddit thread and found out that pikaur doesn't cope well with my fish environment settings:

set -gx EDITOR "emacsclient -a vim -c -n"
set -gx VISUAL "emacsclient -a vim -c -n"

The backtrace:

Traceback (most recent call last):            
  File "/usr/bin/pikaur", line 8, in <module>
    main()               
  File "/usr/lib/python3.6/site-packages/pikaur/main.py", line 248, in main
    cli_entry_point()               
  File "/usr/lib/python3.6/site-packages/pikaur/main.py", line 200, in cli_entry_point
    cli_install_packages(args)
  File "/usr/lib/python3.6/site-packages/pikaur/main.py", line 58, in cli_install_packages
    InstallPackagesCLI(args=args, packages=packages)
  File "/usr/lib/python3.6/site-packages/pikaur/install_cli.py", line 126, in __init__
    self.review_build_files()                                 
  File "/usr/lib/python3.6/site-packages/pikaur/install_cli.py", line 488, in review_build_files
    if self.ask_to_edit_file('PKGBUILD', repo_status):
  File "/usr/lib/python3.6/site-packages/pikaur/install_cli.py", line 452, in ask_to_edit_file
    filename                    
  File "/usr/lib/python3.6/site-packages/pikaur/core.py", line 16, in interactive_spawn
    process = subprocess.Popen(cmd, **kwargs)
  File "/usr/lib/python3.6/subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.6/subprocess.py", line 1344, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'emacsclient -a vim -c -n': 'emacsclient -a vim -c -n'

Hopefully it's a minor issue. The helper looks cool so far. Thanks.

Show the origin of the repository per package or group

With pacman, pacaur, yaourt show the origin of each package, for example in command to update like as:

pacaur -Syu

extra/kwin                     
core/libnghttp2          
core/linux
aur/skypeforlinux-preview-bin

For me is so important to know what is the repo of packages, mainly if is from aur or compiled repo.

In pikaur I see that the packages sorted by upgrade version level, I propose to order the packages by group of the repository and after by upgrade level, like:

pikaur -Syu

[core]
linux
libnghttp2

[extra]
kwin

[aur]
skypeforlinux-preview-bin

Thanks!

Update not possible, Dependency for "None" is missing

When I run pikaur -Syu, I get the following (rather unhelpful) output:

:: 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...
Reading repository package databases................................................................
:: Starting full AUR upgrade...
Reading local package database......................................................................
:: warning: Following packages can not be found in AUR:
    arduino-bin    
    jedi-outcast-linux-bin    
    python-nikola    
    winusb-git    
resolving dependencies...
Version mismatch:
None dependency: 'java-runtime=8' found: '9.0.4.u11-1'

PS: The project looks quite promising! Like it already!

AUR package

Hi,
I really like this project and it is impressive how far it has come in just about 2 week. I was wondering, if you are planning to offer an AUR package?

pikaur installation failure?

Traceback (most recent call last):
File "/bin/pikaur", line 8, in
main()
File "/usr/lib/python3.6/site-packages/pikaur/main.py", line 342, in main
cli_entry_point()
File "/usr/lib/python3.6/site-packages/pikaur/main.py", line 294, in cli_entry_point
cli_install_packages(args)
File "/usr/lib/python3.6/site-packages/pikaur/main.py", line 64, in cli_install_packages
InstallPackagesCLI(args=args, packages=packages)
File "/usr/lib/python3.6/site-packages/pikaur/install_cli.py", line 131, in init
self.build_packages()
File "/usr/lib/python3.6/site-packages/pikaur/install_cli.py", line 525, in build_packages
repo_status.build(self.args, self.package_builds)
File "/usr/lib/python3.6/site-packages/pikaur/build.py", line 395, in build
self._set_built_package_path()
File "/usr/lib/python3.6/site-packages/pikaur/build.py", line 322, in _set_built_package_path
config_path=os.path.join(dest_dir, 'PKGBUILD')
File "/usr/lib/python3.6/site-packages/pikaur/core.py", line 295, in get
value = cls.get_config(config_path=config_path).get(key)
File "/usr/lib/python3.6/site-packages/pikaur/core.py", line 284, in get_config
with open(config_path) as config_file:
FileNotFoundError: [Errno 2] No such file or directory: '/var/cache/pacman/custom/PKGBUILD'

makepkg fails with "fatal: repository '..../pikaur/pikaur' does not exist"

When following installation instructions the package build fails with the following message

$ git clone https://github.com/actionless/pikaur.git
Cloning into 'pikaur'...
remote: Counting objects: 505, done.
remote: Compressing objects: 100% (38/38), done.
remote: Total 505 (delta 36), reused 56 (delta 23), pack-reused 434
Receiving objects: 100% (505/505), 336.22 KiB | 684.00 KiB/s, done.
Resolving deltas: 100% (333/333), done.
$ cd pikaur
$ makepkg -fsri
==> Making package: pikaur-git 0.3-1 (Wed  7 Feb 22:44:52 GMT 2018)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating pikaur git repo...
Fetching origin
==> Validating source files with md5sums...
    pikaur ... Skipped
==> Extracting sources...
  -> Creating working copy of pikaur git repo...
fatal: repository '/tmp/pikaur/pikaur' does not exist
==> ERROR: Failure while creating working copy of pikaur git repo
    Aborting... 

Sorry, user $username is not allowed to execute '/bin/true' as root on $hostname

When running a pikaur command e.g. pikaur -S $some-program, it will ask for my sudo password, then complain that my user is not allowed to execute /bin/true (which is actually true, my user is only allowed to execute pacman via sudo). Then it will ask for my password again and proceed to install $some-program.

Is there a reason, why pikaur tries to execute /bin/true the first time around, but then works anyway the second time?

Error when package is already built

By default, makepkg refuses to continue if a built package is found already. You'll need to
pass -f to override this behavior.

$ pikaur -S pacaur-git
resolving dependencies...
Reading repository package databases...
Reading local package database...

New packages will be installed from AUR:
    pacaur-git

:: Proceed with installation? [Y/n] y
Do you want to edit PKGBUILD for pacaur-git package? [Y/n]
==> Making package: pacaur-git 4.7.10-1 (Thu  8 Feb 12:50:51 CET 2018)
==> WARNING: Skipping dependency checks.
==> Retrieving sources...
  -> Updating pacaur git repo...
Fetching origin
==> Validating source files with md5sums...
    pacaur ... Skipped
==> Extracting sources...
  -> Creating working copy of pacaur git repo...
Cloning into 'pacaur'...
done.
==> Starting prepare()...
==> Starting pkgver()...
==> Updated version: pacaur-git 4.7.10.47.ga0f232d-1
==> ERROR: A package has already been built. (use -f to overwrite)
Can't build 'pacaur-git'.
Failed to build following packages:
pacaur-git

Providers not taken into account in deps solver

I have cower-git installed, which provides cower.
When installing a package that requires cower, the dependency solver fails.

In addition to package names, you'll need to check providers here.

$ pikaur -S pacaur-git
resolving dependencies...
Reading repository package databases...
Reading local package database...

New packages will be installed from AUR:
    pacaur-git

:: Proceed with installation? [Y/n] y
Do you want to edit PKGBUILD for pacaur-git package? [Y/n]
error: target not found: cower
Can't build 'pacaur-git'.
Failed to build following packages:
pacaur-git

packages Replaces priority

I'm new with pikaur (before i have used pacaur), when I install a package I have a problem, it would change my packages, for example if I install lastpkgs :

~> pikaur -S lastpkgs
resolving dependencies...
Reading local package database...

:: AUR package will be installed:
 lastpkgs                                                  -> 0.9.4-1

:: Proceed with installation? [Y/n]
:: [v]iew package detail   [m]anually select packages
> y
looking for conflicting packages...
Reading repository package databases...
:: New package 'create_ap-git' replaces installed 'create_ap' Proceed? [Y/n] n
:: New package 'cupp-git' replaces installed 'cupp' Proceed? [Y/n] n
:: New package 'reaver-wps-fork-t6x-git' replaces installed 'reaver' Proceed? [Y/n] n
:: New package 'reaver-wps-fork-t6x' replaces installed 'reaver' Proceed? [Y/n] n
Do you want to edit PKGBUILD for lastpkgs package? [y/N] n

and here pikaur -Ss :

~> pikaur -Ss create_ap
Searching... [###]
archstrike/create_ap-git r250.f906559-1 (archstrike archstrike-wireless) 
    A shell script to create a NATed/Bridged Software Access Point(aka WiFi)    
community/create_ap 0.4.6-1 [installed] 
    A shell script to create a NATed/Bridged Software Access Point    
aur/create_ap-gui 1.3.1-1 [installed] (12, 1.49)
    Gui application for easy creating access points. Application allows save configuration for quickly create AP.    
aur/create_ap-git r227.fc28805-2 (3, 0.00)
    A shell script to create a NATed/Bridged Software Access Point    

it search for different packages that are not same, for example create_ap are not equal to create_ap-git

How to solve this?

Fish completion and PKGEXT

Hi, I just noticed that the fish completion for pikaur does not consider filenames ending in .pkg.tar when completing pikaur -U. Looking at /usr/share/fish/completions/pikaur.fish, I noticed this segment:

# Upgrade options
# Theoretically, pacman reads packages in all formats that libarchive supports
# In practice, it's going to be tar.xz or tar.gz
# Using "pkg.tar.*" here would change __fish_complete_suffix's descriptions to "unknown"
complete -c $progname -n "$upgrade" -xa '(__fish_complete_suffix pkg.tar.xz)' -d 'Package file'
complete -c $progname -n "$upgrade" -xa '(__fish_complete_suffix pkg.tar.gz)' -d 'Package file'

I understand not wanting to list every single possibility (though I just tried "pkg.tar*" and did not notice the difference mentioned in the comment), but .pkg.tar seems to be quite a popular option, since it bypasses compression entirely, which makes it very fast.

See for example:

https://www.reddit.com/r/archlinux/comments/3ctiou/lpt_speed_up_makepkg_by_skippingparallelizing/

Could we perhaps add it to the fish completion?

Thanks.

Can't use pikaur -Syu <pkgname> to upgrade package

See:

$ pikaur -Syu pikaur-git
[sudo] password for tyilo: 
:: 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...
Reading repository package databases............................................
:: Starting full AUR upgrade...
Reading local package database..................................................
:: warning: Following packages can not be found in AUR:
    python-commandlines    
    python-font-unicode    
resolving dependencies...

:: Proceed with installation? [Y/n] 
:: [v]iew package detail   [m]anually select packages
> 
looking for conflicting packages...

versus:

$ pikaur -S pikaur-git
resolving dependencies...
Reading repository package databases............................................
Reading local package database..................................................

:: AUR package will be installed:
 pikaur-git                       0.5+18+gde54e64-1 -> 0.5-1

:: Proceed with installation? [Y/n] 
:: [v]iew package detail   [m]anually select packages
> 
looking for conflicting packages...
Do you want to edit PKGBUILD for pikaur-git package? [y/N] 
==> Making package: pikaur-git 0.5-1 (Sun 18 Feb 15:55:52 CET 2018)
==> WARNING: Skipping dependency checks.
==> Retrieving sources...
  -> Cloning pikaur-git git repo...
Cloning into bare repository '/home/tyilo/.cache/pikaur/build/pikaur-git/pikaur-git'...
remote: Counting objects: 923, done.
remote: Compressing objects: 100% (151/151), done.
remote: Total 923 (delta 149), reused 126 (delta 64), pack-reused 707
Receiving objects: 100% (923/923), 412.47 KiB | 508.00 KiB/s, done.
Resolving deltas: 100% (640/640), done.
==> Validating source files with md5sums...
    pikaur-git ... Skipped
==> Extracting sources...
  -> Creating working copy of pikaur git repo...
Cloning into 'pikaur-git'...
done.
Switched to a new branch 'makepkg'
==> Starting pkgver()...
==> Updated version: pikaur-git 0.5+18+gde54e64-1
==> Starting build()...
==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issue...
==> Creating package "pikaur-git"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: pikaur-git 0.5+18+gde54e64-1 (Sun 18 Feb 15:56:29 CET 2018)
loading packages...
warning: pikaur-git-0.5+18+gde54e64-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) pikaur-git-0.5+18+gde54e64-1

Total Installed Size:  2.10 MiB
Net Upgrade Size:      0.00 MiB

:: Proceed with installation? [Y/n] 
(1/1) checking keys in keyring                     [----------------------] 100%
(1/1) checking package integrity                   [----------------------] 100%
(1/1) loading package files                        [----------------------] 100%
(1/1) checking for file conflicts                  [----------------------] 100%
(1/1) checking available disk space                [----------------------] 100%
:: Processing package changes...
(1/1) reinstalling pikaur-git                      [----------------------] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

A problem in search packages using multi-words

Pikaur has some problem in search packages using multi-words with -Ss, for example, compared with pacaur:

pacaur -Ss plasma menu               
extra/kmenuedit 5.12.1-1 (plasma) [installed]
    KDE menu editor
aur/plasma-addons-customdesktopmenu-git 0.0.1-3 (1, 0.00)
    Custom desktop menu for Plasma5
aur/kim-frameworks 0.9.5-4 (1, 0.00)
    Plasma 5 Image Menu to compress, resize, convert, rotate and webexport
aur/kdeplasma-applets-actos-soundmenu-git 4.b6d5fa2-1 (2, 0.00)
    Very simple Sound Menu plasmoid with volume and playback (MPRIS) controls for the current media player
pikaur -Ss plasma menu                                   
Reading local package database..................................................................................................................
extra/kmenuedit 5.12.1-1 (plasma) [installed]
    KDE menu editor

"Manually select packages" option doesn't allow reselection

Example:

:: Repository packages will be installed:
 iana-etc                              20180131-1          -> 20180221-1
 python2-hyperlink                     17.3.1-1            -> 18.0.0-1
 reflector                             2017.11-1           -> 2018-1

After I press m then delete python2-hyperlink and reflector in vim:

:: Repository packages will be installed:
 iana-etc                              20180131-1          -> 20180221-1

If I press m again, I cannot reselect python2-hyperlink and reflector.

Running pikaur via xargs causes it to fail with EOFError

When running

xargs pikaur -S < aur_packages

Execution fails with the following output

resolving dependencies...
Reading repository package databases...
Reading local package database...

:: AUR packages will be installed:
 pikaur-git                            0.6-1               -> 0.6-1

:: Proceed with installation? [Y/n] 
:: [v]iew package detail   [m]anually select packages
> Traceback (most recent call last):
  File "/home/oliver/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur.py", line 8, in <module>
    main()
  File "/home/oliver/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur/main.py", line 250, in main
    cli_entry_point()
  File "/home/oliver/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur/main.py", line 210, in cli_entry_point
    cli_install_packages(args)
  File "/home/oliver/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur/main.py", line 59, in cli_install_packages
    InstallPackagesCLI(args=args, packages=packages)
  File "/home/oliver/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur/install_cli.py", line 136, in __init__
    self.install_prompt()
  File "/home/oliver/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur/install_cli.py", line 296, in install_prompt
    answer = _print_sysupgrade()
  File "/home/oliver/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur/install_cli.py", line 285, in _print_sysupgrade
    answer = input('{} {}\n{} {}\n> '.format(
EOFError: EOF when reading a line

no fakeroot check

Hi,
On a fresh arch install, the install command has failed because of fakeroot package missing.
I installed it and it's ok, pikaur works, but it would be nice if it's added in the build script ?
Thanks for your works !
William

Pikaur hangs on installing discord

I installed pikaur via pacaur pacaur -S pikaur-git. When I tried to install discord via pikaur -S discord it requested the dependencies libc++ and libc++abi from aur. After saying no to viewing any PKGBUILDs pikaur went up to 100% CPU usage and stayed that way for hours until I killed it. No console output while that was the case.

Make ProgressBar look more like pacman's

The first of these progessbars is pacman's the second one is pikaur's:

(1/1) upgrading pikaur-git                         [----------------------] 100%
Reading repository package databases............................................

It would be better if pikaur used the same progessbar style as pacman.

It would also be neat if pikaur supported the ILoveCandy easter egg.

Resolving indirect AUR dependencies (via `Provides` field)

Hey!

Trying to install ros-indigo-desktop-full (https://aur.archlinux.org/packages/ros-indigo-desktop-full) yields that python2-catkin-pkg cannot be found in AUR and hence ros-indigo-desktop-full cannot be installed.

Two things:

  • It would be nice if pikaur would show that the missing dep is a dep of ros-indigo-catkin
  • It actually is possible to know for pikaur that python2-catkin-pkg is being provided by python2-catkin_pkg since it's being listed explicitly in other packages of the dependency chain, hence it should be possible to solve the dependency chain for ros-indigo-desktop-full all in all

Converting from unix time to regular date

Currently when listing package information from aur packages dates are listed in a rather unreadable unix timestamp format. For example when running
pikaur -Si pikaur-git
...
firstsubmitted : 1517379650
lastmodified : 1519879070
...

More closely following the format that pacman uses for displaying package information might enhance readability in general

[v0.5] crash in full AUR upgrade

Hi there,

when I try to do a full system update, pikaur crashes with the following error:

hazzl@eressea:~$ pikaur -Suy
:: Synchronisiere Paketdatenbanken...
 testing ist aktuell
 core ist aktuell
 extra ist aktuell
 community-testing ist aktuell
 community ist aktuell
 multilib-testing ist aktuell
 multilib ist aktuell
:: Starting full system upgrade...
Reading repository package databases............................................
:: Starting full AUR upgrade...
Reading local package database..................................................
Traceback (most recent call last):
  File "/home/hazzl/tmp/pikaur-git/src/pikaur-git/pikaur.py", line 8, in <module>
  File "/home/hazzl/tmp/pikaur-git/src/pikaur-git/pikaur/main.py", line 244, in main
  File "/home/hazzl/tmp/pikaur-git/src/pikaur-git/pikaur/main.py", line 196, in cli_entry_point
  File "/home/hazzl/tmp/pikaur-git/src/pikaur-git/pikaur/main.py", line 79, in cli_upgrade_packages
  File "/home/hazzl/tmp/pikaur-git/src/pikaur-git/pikaur/meta_package.py", line 212, in exclude_ignored_packages
  File "/home/hazzl/tmp/pikaur-git/src/pikaur-git/pikaur/core.py", line 325, in get
AttributeError: 'list' object has no attribute 'split'

Add flag to skip packagebuild review

Adding --noconfirm still prompts for reviewing the PKGBUILD.
A flag to ignore the PKGBUILD review step would help using pikaur in automated scripts.
Ex: pacaur have the --noedit flag.

Packages to provide dependencies are automatically selected.

When a dependency is provided by multiple packages, the first provider is automatically selected.
Example:

pikaur -R rust rustup
pikaur -S firefox-kde-opensuse
[...]
:: There are 2 providers available for cargo:
:: Repository community           
   1) rust  2) rustup 
            
Enter a number (default=1):
warning: skipping target: rust                             
resolving dependencies...                          
looking for conflicting packages...        
                                   
Packages (1) rust-1:1.24.0-1
                   
Total Installed Size:  208.57 MiB
   
:: Proceed with installation? [Y/n]

firefox-kde-opensuse (make-)depends on cargo which is provided by rust and rustup. The user is never prompted, which package they want to install, the first one (rust) is always chosen. I have not yet tested this with non-make-deps or any other package than rust.

Expected behaviour:
Ask which package should be installed.

Versions:
Pikaur 0.7+28+g65d68b6
Pacman v5.0.2
ibalpm v10.0.2

Error in pikaur -Syu

First, thanks for the amazing alternative to pacaur and yaourt, the error is:

$ pikaur -Syu
[sudo] password for xavier:
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
herecura is up to date
home_pbek_QOwnNotes_Arch_Extra is up to date
arch4edu is up to date
archlinuxcn is up to date
:: Starting full system upgrade...
Reading repository package databases............................................................................................................
:: Starting full AUR upgrade...
Reading local package database..................................................................................................................
Traceback (most recent call last):
File "/home/xavier/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur.py", line 8, in
File "/home/xavier/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur/main.py", line 244, in main
File "/home/xavier/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur/main.py", line 196, in cli_entry_point
File "/home/xavier/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur/main.py", line 79, in cli_upgrade_packages
File "/home/xavier/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur/meta_package.py", line 212, in exclude_ignored_packages
File "/home/xavier/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur/core.py", line 314, in get
File "/home/xavier/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur/core.py", line 308, in get_config
File "/usr/lib/python3.6/configparser.py", line 723, in read_string
self.read_file(sfile, source)
File "/usr/lib/python3.6/configparser.py", line 718, in read_file
self._read(f, source)
File "/usr/lib/python3.6/configparser.py", line 1092, in _read
fpname, lineno)
configparser.DuplicateOptionError: While reading from '' [line 42]: option 'server' in section 'all' already exists

Small Bug if no packets can be upgraded

 pikaur -Syu
 :: Synchronising package databases...
  core is up to date
  extra is up to date
  community is up to date
  multilib is up to date
  blackarch is up to date
 :: Starting full system upgrade...
 Reading repository package databases.............................................................
 :: Starting full AUR upgrade...
 Reading local package database..................................................................
 resolving dependencies...

 :: Proceed with installation? [Y/n] 
 :: [v]iew package detail   [m]anually select packages
 > v

 :: Proceed with installation? [Y/n] 
 :: [v]iew package detail   [m]anually select packages
 > v

 :: Proceed with installation? [Y/n] 
 :: [v]iew package detail   [m]anually select packages
 > m
 Traceback (most recent call last):
   File "/tmp/trizen-daniel/pikaur-git/src/pikaur-git/pikaur.py", line 8, in <module>
   File "/tmp/trizen-daniel/pikaur-git/src/pikaur-git/pikaur/main.py", line 244, in main
   File "/tmp/trizen-daniel/pikaur-git/src/pikaur-git/pikaur/main.py", line 196, in cli_entry_point
    File "/tmp/trizen-daniel/pikaur-git/src/pikaur-git/pikaur/main.py", line 93, in cli_upgrade_packages
   File "/tmp/trizen-daniel/pikaur-git/src/pikaur-git/pikaur/main.py", line 56, in cli_install_packages
   File "/tmp/trizen-daniel/pikaur-git/src/pikaur-git/pikaur/install_cli.py", line 98, in __init__
   File "/tmp/trizen-daniel/pikaur-git/src/pikaur-git/pikaur/install_cli.py", line 215, in install_prompt
 NotImplementedError

I feel like this is not intended. Maybe a check is missing, if packets exist that should be upgraded.

Thank you for your work, we all appreciate it :)

Repository's priority is ignored.

Repositories listed on pacman.conf have priorities (see: archwiki)

repositories listed first will take precedence over those listed later in the file when packages in two repositories have identical names, regardless of version number.

I have [testing], [community-testing], [multilib-testing] enabled (but only specific packages are explicitly installed from them). Yet, "pikaur -Syu" for example suggests the very dangerous list of updates (all of them from testing!):

linux 4.15.6-1 -> 4.15.7-1
linux-headers 4.15.6-1 -> 4.15.7-1
linux-zen 4.15.6-1 -> 4.15.7-1
linux-zen-headers 4.15.6-1 -> 4.15.7-1

Different helpers (pacaur, yay, trizen…) are correctly implementing repository priority.

Just a message of appreciation

I just wanted to leave a message of appreciation here.

Earlier this week, I wrecked my computer, and have since then been rebuilding my arch setup on a new PC. When it came time to download stuff from the AUR, I decided it was time to find something new. Yaourt, which I had used on the previous machine, was such a chore to use. I'd find myself having to keep coming back and babysitting it over a period of hours as it downloaded and installed font packages one by one.

As I was reviewing my alternatives, I dreamed of my ideal package manager, fixing all the issues of yaourt. First and foremost, it would put all the human interaction at the beginning, showing all the git diffs and letting PKGBUILDs be edited, then batch together all the installations at once. No interactive prompts if there's more than one matching package, just dump me back into the console. And it'd have none of that silly "curses getch"-like stuff where you don't need to press Enter at a yes/no prompt (because then I need to slow down to prevent my muscle memory from hitting Enter).

Of course, the comparison of AUR managers on the Wiki doesn't exactly cover the workflow of using these tools, so I was left to basically try them all out. If I couldn't find one that batched together the installs, I figured, I'd probably just "throw one together" in Python. It'd take me "two days, tops" (which is programmer speak for "at least a week, possibly two or more, plus some hair loss").

Then I came upon yours, which said basically exactly what I was looking for right in the description. Clearly, this has been written by one of my fellow brethren tormented by yaourt! I have tried it out and so far the experience has been basically everything I could have asked for.


I have seen that maintaining a package manager can be a pretty thankless job; consider e.g. pacaur whose maintainer has recently been driven away. I know that this project is actually very young, and so the worst may be yet to come; in any case, I wanted to post a message of thanks, and to wish you the best of luck in continuing with this endeavor.

Show git commit hash in pikaur --version

It only makes sense for pikaur --version to only show the version number (0.5), if you're running the release version and not some commits after a release.

I think that pikaur --version should show Pikaur 0.5 (<short git hash>) when not using a release version.

Error: 'list' object has no attribute 'split'

Hi !

I updated pikaur to the last version, and every command except -Ss fails with the following traceback:

~/.configuration(master) » pikaur -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...
Reading repository package databases..........................................
:: Starting full AUR upgrade...
Reading local package database................................................
Traceback (most recent call last):
File "/home/treize/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur.py", line 8, in
main()
File "/home/treize/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur/main.py", line 244, in main
cli_entry_point()
File "/home/treize/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur/main.py", line 196, in cli_entry_point
cli_upgrade_packages(args)
File "/home/treize/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur/main.py", line 79, in cli_upgrade_packages
exclude_ignored_packages(not_found_aur_pkgs, args)
File "/home/treize/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur/meta_package.py", line 212, in exclude_ignored_packages
for ignored_pkg in (args.ignore or []) + PacmanConfig.get('IgnorePkg', []):
File "/home/treize/.cache/pikaur/build/pikaur-git/src/pikaur-git/pikaur/core.py", line 325, in get
value = value.split()
AttributeError: 'list' object has no attribute 'split'`

Add option to keep package sources after successful build

Some packages like wine require users to clone a big git repository for building, and cloning it every time you build wine can be very slow. I think it would be useful to add an option to keep all source files in user-specified directory (because .cache folder isn't really made for persistent storage)

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.