You are not logged in.

#501 2023-09-27 06:17:24

mbw
Member
Registered: 2020-01-04
Posts: 30

Re: aurutils - helper tools for the aur

Thanks I'll try this next time.

I have one more follow-up question though. As of now, I converged on using aurutils like this when upgrading packages:

aur repo --upgrades  # Check for upgrades. This is somewhat redundant but gives a nice overview I guess.
aur sync --upgrades --no-build  # Check for differences by looking at the diff (this should hopefully become easier if I can actually make something out
aur sync --upgrades --no-view  # Build and sync packages
sudo pacman -Syu

There are two problems with this:

  1. I can't invoke the --no-build step twice to see the diff, since by then the changes have already been merged. Is it possible to actually only fetch (not pull) and diff with remote?

  2. Between the two last steps, the system is theoretically in an inconsistent state. Is it possible to only build the packages, so that they are synced only in the very last step?

My intention is to have the flow like this:

  1. Check for upgrades

  2. git-fetch and check for differences

  3. If OK, git-pull and build

  4. Sync everything with pacman -Syu

Is this reasonable and possible with aur-sync?

Offline

#502 2023-09-27 23:41:02

Alad
Wiki Admin/IRC Op
From: Bagelstan
Registered: 2014-05-04
Posts: 2,406
Website

Re: aurutils - helper tools for the aur

I can't invoke the --no-build step twice to see the diff, since by then the changes have already been merged. Is it possible to actually only fetch (not pull) and diff with remote?

You can just look at the diffs and abort the process with :cq in vifm. This (exits vifm with status 1 and) will keep the diffs available for later inspection. It also doesn't require a separate --no-build step.

Between the two last steps, the system is theoretically in an inconsistent state. Is it possible to only build the packages, so that they are synced only in the very last step?

Either run pacman -Syu before aur-sync, or build in a container (aur sync --chroot).


Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby

Offline

#503 2023-09-28 07:00:39

mbw
Member
Registered: 2020-01-04
Posts: 30

Re: aurutils - helper tools for the aur

Alad wrote:

Between the two last steps, the system is theoretically in an inconsistent state. Is it possible to only build the packages, so that they are synced only in the very last step?

Either run pacman -Syu before aur-sync, or build in a container (aur sync --chroot).

I am trying to understand how chroot changes things here.
Does it prevent packages from being synced? After all, many (all?) AUR packages enter a chroot jail during upgrade.

Or does supplying --chroot change the inherent behavior of aur-sync?
Ok, after looking at the source, I traced it to /usr/lib/aurutils/aur-build.407, where syncing the package is skipped if either chroot or no_sync is set.
If this is in the aur-sync documentation, I did not see it.

Offline

#504 2023-09-29 13:09:51

Alad
Wiki Admin/IRC Op
From: Bagelstan
Registered: 2014-05-04
Posts: 2,406
Website

Re: aurutils - helper tools for the aur

pacman -Syu is always run inside the container before the build. Thus, any packages you build are built against latest repo packages. The container has write access to your local repository, so the newly built packages and repository are written there.

When you then run pacman -Syu yourself (on the host) , pacman's copy of your local repository is updated, together with the AUR packages built int he container.

Last edited by Alad (2023-09-29 13:10:31)


Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby

Offline

#505 2023-11-13 21:51:39

demizer
Member
From: Gilroy, CA
Registered: 2010-03-03
Posts: 116
Website

Re: aurutils - helper tools for the aur

First, thanks very much to AladW and everyone that has contributed to this project. It's been exactly what I need to maintain the custom packages on my arch systems for many years now.

However, lately I have been suffering a lot of pain with building using nspawn containers.

  • I am using aurutils 18.3 and have rebuilt my chroot envs following the recommendation from #477

  • Building outside of the chroot with aurutils works fine.

Command:

aur sync --rebuild --sign --chroot --pacman-conf <my_custom_pacman_conf>

Some examples:

linux-bcachefs-git:

note: this build failed after 45 minutes compile and on the last steps:

==> Starting package_linux-bcachefs-git-docs()...
/startdir/PKGBUILD: line 389: version: No such file or directory
==> ERROR: Build failed, check /var/lib/aurbuild/x86_64/demizer/build

And AppImage based packages, tested orca-slicer-bin and superslicer-bin:

/startdir/PKGBUILD: line 25: /build/superslicer-bin/src/SuperSlicer-ubuntu_18.04-2.4.58.5.AppImage: cannot execute: required file not found
==> ERROR: A failure occurred in prepare().
    Aborting...
==> ERROR: Build failed, check /var/lib/aurbuild/x86_64/demizer/build

and ...

==> Starting prepare()...
/startdir/PKGBUILD: line 18: ./OrcaSlicer_Linux_V1.7.0.AppImage: cannot execute: required file not found
==> ERROR: A failure occurred in prepare().
    Aborting...
==> ERROR: Build failed, check /var/lib/aurbuild/x86_64/demizer/build

It seems these packages are having trouble with the bindmounts from the package extract dir from the host to the container. I searched the docs and the source code to see if I can disable mounting into the container but I haven't found anything relevant. I want everything to happen in the container and then copy the files back to the host when done as this is less likely to cause issues with the various PKGBUILDS. I believe this is how it used to work.

Does anyone know how to overcome these issues while still building in a container?

Offline

#506 2023-11-13 22:58:49

lahwaacz
Wiki Admin
From: Czech Republic
Registered: 2012-05-29
Posts: 746

Re: aurutils - helper tools for the aur

Have you edited and saved the PKGBUILD while the build was in progress? This behavior is exactly what you get when you change a bash script while it is running...

Offline

#507 2023-11-14 19:29:42

demizer
Member
From: Gilroy, CA
Registered: 2010-03-03
Posts: 116
Website

Re: aurutils - helper tools for the aur

lahwaacz wrote:

Have you edited and saved the PKGBUILD while the build was in progress? This behavior is exactly what you get when you change a bash script while it is running...

No not at all. aurutils copies the package srcs to /tmp

Offline

#508 2023-11-17 17:10:54

Alad
Wiki Admin/IRC Op
From: Bagelstan
Registered: 2014-05-04
Posts: 2,406
Website

Re: aurutils - helper tools for the aur

aurutils copies the package srcs to /tmp

No such copy is performed. Any source repositories are retrieved to and built in XDG_CACHE_HOME/aurutils/sync by default (if using aur-sync) or the current directory (if using aur-fetch + aur-build).

To the issue at hand, it looks like a problem with devtools. Check if you can reproduce your issue with extra-x86_64-build.


Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby

Offline

#509 2023-11-22 18:59:36

demizer
Member
From: Gilroy, CA
Registered: 2010-03-03
Posts: 116
Website

Re: aurutils - helper tools for the aur

Alad wrote:

To the issue at hand, it looks like a problem with devtools. Check if you can reproduce your issue with extra-x86_64-build.

Ah of course. I will take a look at that and report an issue if anything comes up. Thank you!

Offline

#510 2023-11-29 19:22:49

qubeck
Member
From: Europe
Registered: 2023-11-29
Posts: 1

Re: aurutils - helper tools for the aur

I had a similar issue, but the fatal error only occurred after "Starting package()..." stage.  Maybe it's needed to add AURUTILS_VERSION=$pkgver in the PKGBUILD in package() too? After that I had no problems smile
Current output:

==> Making package: aurutils 18.5-1 (Wed 29 Nov 2023 21:44:00 MSK)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found aurutils-18.5.tar.gz
==> Validating source files with sha256sums...
    aurutils-18.5.tar.gz ... Passed
==> Extracting sources...
  -> Extracting aurutils-18.5.tar.gz with bsdtar
==> Removing existing $pkgdir/ directory...
==> Starting build()...
sed -e 's|AURUTILS_LIB_DIR|/usr/lib/aurutils|' \
    -e 's|AURUTILS_VERSION|18.5|' aur.in >aur
make[1]: Entering directory '/home/qubeck/aurutils/src/aurutils-18.5/completions'
make[1]: Nothing to be done for 'bash'.
make[1]: Nothing to be done for 'zsh'.
make[1]: Leaving directory '/home/qubeck/aurutils/src/aurutils-18.5/completions'
==> Entering fakeroot environment...
==> Starting package()...
fatal: No names found, cannot describe anything.
sed -e 's|AURUTILS_LIB_DIR|/usr/lib/aurutils|' \
    -e 's|AURUTILS_VERSION|18.5|' aur.in >aur
make[1]: Entering directory '/home/qubeck/aurutils/src/aurutils-18.5/completions'
make[1]: Leaving directory '/home/qubeck/aurutils/src/aurutils-18.5/completions'
make[1]: Entering directory '/home/qubeck/aurutils/src/aurutils-18.5/perl'
make[1]: Leaving directory '/home/qubeck/aurutils/src/aurutils-18.5/perl'
==> 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 issues...
==> Creating package "aurutils"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Adding changelog file...
  -> Adding install file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: aurutils 18.5-1 (Wed 29 Nov 2023 21:44:02 MSK)

Modified PKGBUILD:

build() {
    cd "$pkgname-$pkgver"
    make AURUTILS_VERSION=$pkgver
}

package() {
    cd "$pkgname-$pkgver"
    make PREFIX=/usr ETCDIR=/etc DESTDIR="$pkgdir" AURUTILS_VERSION=$pkgver install
}

Last edited by qubeck (2023-11-29 19:56:21)

Offline

#511 2023-12-11 16:35:07

Alad
Wiki Admin/IRC Op
From: Bagelstan
Registered: 2014-05-04
Posts: 2,406
Website

Re: aurutils - helper tools for the aur

Not sure how that would happen unless `aur` is removed between build() and package() ...

With the PKGBUILD above you could leave out build() entirely as well.


Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby

Offline

#512 2024-02-04 18:00:23

phunni
Member
From: Bristol, UK
Registered: 2003-08-13
Posts: 768

Re: aurutils - helper tools for the aur

No idea how to get past this:

aur sync  -u                                                                                                                                                                                                                                                                    15:50:15 
==> Using [redfruit] repository
  -> cython2 (none) -> 0.29.36-1
  -> python2 (none) -> 2.7.18-9
  -> python2-appdirs (none) -> 1.4.4-6
  -> python2-atomicwrites (none) -> 1.4.1-1
  -> python2-attrs (none) -> 21.4.0-1
  -> python2-automat (none) -> 20.2.0-7
  -> python2-backports (none) -> 1.1-2
  -> python2-backports-abc (none) -> 0.5-3
  -> python2-backports.functools_lru_cache (none) -> 1.6.4-3
  -> python2-cachecontrol (none) -> 0.12.6-7
  -> python2-cffi (none) -> 1.15.1-3
  -> python2-chardet (none) -> 4.0.0-3
  -> python2-colorama (none) -> 0.4.5-1
  -> python2-configparser (none) -> 4.0.2-3
  -> python2-constantly (none) -> 15.1.0-9
  -> python2-contextlib2 (none) -> 0.6.0.post1-2
  -> python2-coverage (none) -> 5.5-3
  -> python2-cryptography (none) -> 3.3.2-2
  -> python2-cryptography-vectors (none) -> 3.3.2-1
  -> python2-csv23 (none) -> 0.3.4-1
  -> python2-dateutil (none) -> 2.8.2-3
  -> python2-distlib (none) -> 0.3.3-1
  -> python2-distro (none) -> 1.6.0-1
  -> python2-docutils (none) -> 0.18.1-1
  -> python2-enum34 (none) -> 1.1.10-2
  -> python2-flaky (none) -> 3.7.0-4
  -> python2-freezegun (none) -> 0.3.15-8
  -> python2-funcsigs (none) -> 1.0.2-4
  -> python2-futures (none) -> 3.3.0-3
  -> python2-genty (none) -> 1.3.2-8
  -> python2-graphviz (none) -> 0.16-1
  -> python2-html5lib (none) -> 1.1-12
  -> python2-hyperlink (none) -> 21.0.0-3
  -> python2-hypothesis (none) -> 4.57.1-1
  -> python2-idna (none) -> 2.10-4
  -> python2-importlib-metadata (none) -> 2.1.3-2
  -> python2-incremental (none) -> 21.3.0-1
  -> python2-ipaddress (none) -> 1.0.23-2
  -> python2-iso8601 (none) -> 0.1.16-1
  -> python2-linecache2 (none) -> 1.0.0-5
  -> python2-m2r (none) -> 0.2.1-7
  -> python2-mistune (none) -> 0.8.4-6
  -> python2-mock (none) -> 3.0.5-9
  -> python2-monotonic (none) -> 1.6-2
  -> python2-more-itertools (none) -> 5.0.0-3
  -> python2-msgpack (none) -> 1.0.4-2
  -> python2-nose (none) -> 1.3.7-13
  -> python2-numpy (none) -> 1.16.6-3
  -> python2-packaging (none) -> 20.9-7
  -> python2-pathlib2 (none) -> 2.3.7.post1-2
  -> python2-pbr (none) -> 5.9.0-2
  -> python2-pep517 (none) -> 0.11.0-2
  -> python2-pexpect (none) -> 4.8.0-1
  -> python2-pip (none) -> 20.3.4-1
  -> python2-pluggy (none) -> 0.13.1-9
  -> python2-ply (none) -> 3.11-8
  -> python2-pretend (none) -> 1.0.9-9
  -> python2-progress (none) -> 1.3-2
  -> python2-ptyprocess (none) -> 0.7.0-1
  -> python2-py (none) -> 1.11.0-2
  -> python2-pyasn1 (none) -> 0.4.8-5
  -> python2-pyasn1-modules (none) -> 0.2.8-4
  -> python2-pycparser (none) -> 2.21-1
  -> python2-pycurl (none) -> 7.45.1-7
  -> python2-pygments (none) -> 2.5.2-2
  -> python2-pyhamcrest (none) -> 1.10.1-1
  -> python2-pyopenssl (none) -> 21.0.0-6
  -> python2-pyparsing (none) -> 2.4.7-1
  -> python2-pytest (none) -> 4.6.11-2
  -> python2-pytest-cov (none) -> 2.12.1-3
  -> python2-pytest-expect (none) -> 1.1.0-8
  -> python2-pytest-freezegun (none) -> 0.4.2-1
  -> python2-pytest-runner (none) -> 5.2-5
  -> python2-pytest-timeout (none) -> 1.4.2-5
  -> python2-pytz (none) -> 2024.1-1
  -> python2-requests (none) -> 2.27.1.r5.gfa1b0a36-1
  -> python2-resolvelib (none) -> 0.5.5-1
  -> python2-retrying (none) -> 1.3.3-13
  -> python2-scandir (none) -> 1.10.0-8
  -> python2-service-identity (none) -> 21.1.0-1
  -> python2-setuptools-scm 5.0.2-1 -> 5.0.2-2
  -> python2-singledispatch (none) -> 3.7.0-3
  -> python2-sortedcontainers (none) -> 2.4.0-1
  -> python2-toml (none) -> 0.10.2-7
  -> python2-tornado (none) -> 5.1.1-3
  -> python2-traceback2 (none) -> 1.4.0-7
  -> python2-trollius (none) -> 2.2.1-1
  -> python2-trustme (none) -> 0.9.0-5
  -> python2-twisted (none) -> 20.3.0-5
  -> python2-typing (none) -> 3.10.0.2-1
  -> python2-u-msgpack (none) -> 2.8.0-3
  -> python2-unittest2 (none) -> 1.1.0-8
  -> python2-urllib3 (none) -> 1.26.15-1
  -> python2-wcwidth (none) -> 0.2.5-6
  -> python2-webencodings (none) -> 0.5.1-7
  -> python2-wheel (none) -> 0.37.1-5
  -> python2-yaml (none) -> 5.4.1.1-1
  -> python2-zipp (none) -> 1.2.0-1
  -> python2-zope-interface (none) -> 5.5.2-1
dependency python2 satisfied by redfruit/python2-bin
dependency python2-distribute satisfied by redfruit/python2-setuptools
dependency python2-distribute satisfied by redfruit/python2-setuptools
tsort: -: input contains a loop:
tsort: python2-pretend
tsort: python2-pip
tsort: python2-setuptools-scm
tsort: python2-pytest-runner
tsort: -: input contains a loop:
tsort: python2-pyopenssl
tsort: python2-pip
tsort: python2-setuptools-scm
tsort: python2-pytest-runner
tsort: -: input contains a loop:
tsort: python2-cryptography
tsort: python2-pyopenssl
tsort: python2-pip
tsort: python2-setuptools-scm
tsort: python2-pytest-runner
tsort: -: input contains a loop:
tsort: python2-pytest
tsort: python2-flaky
tsort: python2-pyopenssl
tsort: python2-pip
tsort: python2-setuptools-scm
tsort: -: input contains a loop:
tsort: python2-backports.functools_lru_cache
tsort: python2-wcwidth
tsort: python2-pytest
tsort: python2-flaky
tsort: python2-pyopenssl
tsort: python2-pip
tsort: python2-setuptools-scm
tsort: -: input contains a loop:
tsort: python2-importlib-metadata
tsort: python2-pytest
tsort: python2-flaky
tsort: python2-pyopenssl
tsort: python2-pip
tsort: python2-setuptools-scm
tsort: -: input contains a loop:
tsort: python2-zipp
tsort: python2-importlib-metadata
tsort: python2-pytest
tsort: python2-flaky
tsort: python2-pyopenssl
tsort: python2-pip
tsort: python2-setuptools-scm
tsort: -: input contains a loop:
tsort: python2-configparser
tsort: python2-importlib-metadata
tsort: python2-pytest
tsort: python2-flaky
tsort: python2-pyopenssl
tsort: python2-pip
tsort: python2-setuptools-scm
tsort: -: input contains a loop:
tsort: python2-pluggy
tsort: python2-pytest
tsort: python2-flaky
tsort: python2-pyopenssl
tsort: python2-pip
tsort: python2-setuptools-scm
tsort: -: input contains a loop:
tsort: python2-py
tsort: python2-pytest
tsort: python2-flaky
tsort: python2-pyopenssl
tsort: python2-pip
tsort: python2-setuptools-scm
tsort: -: input contains a loop:
tsort: python2-pip
tsort: python2-setuptools-scm
tsort: python2-pytest-runner
tsort: -: input contains a loop:
tsort: python2-dateutil
tsort: python2-freezegun
tsort: -: input contains a loop:
tsort: python2-dateutil
tsort: python2-freezegun
tsort: python2-pytest-freezegun
tsort: python2-urllib3
tsort: python2-requests
tsort: python2-pip
tsort: python2-setuptools-scm
tsort: -: input contains a loop:
tsort: python2-urllib3
tsort: python2-requests
tsort: python2-pip
tsort: python2-setuptools-scm
tsort: python2-pytest-runner
tsort: -: input contains a loop:
tsort: python2-automat
tsort: python2-twisted
tsort: python2-tornado
tsort: python2-urllib3
tsort: python2-requests
tsort: python2-pip
tsort: python2-setuptools-scm
tsort: python2-pytest-runner
tsort: python2-m2r
tsort: -: input contains a loop:
tsort: python2-automat
tsort: python2-twisted
tsort: python2-tornado
tsort: python2-urllib3
tsort: python2-requests
tsort: python2-pip
tsort: python2-setuptools-scm
tsort: -: input contains a loop:
tsort: python2-pip
tsort: python2-setuptools-scm
tsort: python2-pytest-runner
tsort: python2-hyperlink
tsort: python2-twisted
tsort: python2-tornado
tsort: python2-urllib3
tsort: python2-requests
tsort: -: input contains a loop:
tsort: python2-cachecontrol
tsort: python2-pip
tsort: python2-setuptools-scm
tsort: python2-pytest-runner
tsort: python2-hyperlink
tsort: python2-twisted
tsort: python2-tornado
tsort: python2-urllib3
tsort: python2-requests
sync: dependency cycle detected

Please help!

Offline

#513 2024-02-04 18:28:35

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,673

Re: aurutils - helper tools for the aur

That is a lot of Python 2 stuff.  Python 2 was deprecated four years ago. 
Arch dropped Python 2 and it is no longer in the official repositories.  I have no idea what is in the 'redfruit' repository, but I would seriously consider determining what code you are using that requires Python 2 and find an upgrade path if at all possible.


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#514 2024-02-04 20:34:16

Alad
Wiki Admin/IRC Op
From: Bagelstan
Registered: 2014-05-04
Posts: 2,406
Website

Re: aurutils - helper tools for the aur

sync: dependency cycle detected

This usually happens when a package dependency has a checkdepends that depends on the package itself. You can bootstrap it with --no-checkdepends in that case, or as hinted at above, find out what package introduced the python2 dependency.

Last edited by Alad (2024-02-04 20:35:26)


Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby

Offline

#515 2024-02-04 20:55:16

phunni
Member
From: Bristol, UK
Registered: 2003-08-13
Posts: 768

Re: aurutils - helper tools for the aur

I did remove the python2 dependency - but thank you, Alad, for also highlighting the fix in case it happens again since removing python2 is only a fix in this case.

Offline

#516 2024-02-13 16:11:08

inittux
Member
Registered: 2023-07-17
Posts: 4

Re: aurutils - helper tools for the aur

I have something I am running into with aurutils and my custom local repo, if someone can help me figure that out. As described in "man aur" under the section "Pacman configuration" and in " CacheDir (optional)" I setup my local repo and my pacman configuration.

This what my pacman options look like for the recommended  options

 CacheDir = /var/cache/pacman/pkg /var/cache/pacman/aurpkg
 CleanMethod = KeepCurrent

This is what the custom repo section looks like in pacman.conf

[aur]
SigLevel = Never
Server = file:///var/cache/pacman/aurpkg

As stated in the "CacheDir section"

In addition, SigLevel should be set to Never or Required, if pac In addition, SigLevel should be set to Never or Required, if package signing is disabled or enabled, respectively. This avoids pacman copying over packages to the main CacheDir, if signature files are missing and SigLevel = Optional is set. (FS#71109)kage signing is disabled or enabled, respectively. This avoids pacman copying over packages to the main CacheDir

The problem is it seems when installing a package from the core or extra repo the packages are placed in my custom repo and not in /var/cache/pacman/pkg

At the bottom of pacman.conf I do see this example.

#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

So that seems to be the opposite of what is mentioned in the aur man page for aurutils which I quoted here above. So my question is what am I missing or overlooking that packages from the core and extra
repo are being placed in the location which I have configured for my aur packages where aurutils places the built AUR packages?

Last edited by inittux (2024-02-13 16:22:31)

Offline

#517 2024-02-13 23:06:36

inittux
Member
Registered: 2023-07-17
Posts: 4

Re: aurutils - helper tools for the aur

inittux wrote:

I have something I am running into with aurutils and my custom local repo, if someone can help me figure that out. As described in "man aur" under the section "Pacman configuration" and in " CacheDir (optional)" I setup my local repo and my pacman configuration.

This what my pacman options look like for the recommended  options

CacheDir = /var/cache/pacman/pkg /var/cache/pacman/aurpkg

I figured out my mistake, I had these listed in the wrong order, I think I made a copy/past error when having updated my pacman.conf at some point but when creating my question I had just typed them out of the top of my head. Problem solved.

Last edited by inittux (2024-02-13 23:10:50)

Offline

Board footer

Powered by FluxBB