Git Product home page Git Product logo

Comments (18)

fosskers avatar fosskers commented on May 17, 2024

sudo -> Odd. Being should should allow you to use aura without sudo. I'll check this.
-A not working -> Aura moves built packages to the package cache by physically renaming the file. I don't know why that wouldn't be working on your system.
Deps -> Sometimes this is slow. It recursively searches for AUR deps using more PKGBUILD downloads with curl. Again, JSON should fix this. I imagine that's what yours does? I was jealous of it's dep determination speed.
help message -> This would be aura -h.

from aura.

fosskers avatar fosskers commented on May 17, 2024

I can't reproduce the root error.

I actually should make -Ah a thing, shouldn't I.

from aura.

AbigailBuccaneer avatar AbigailBuccaneer commented on May 17, 2024

I'm getting precisely the same error when doing -A:

$ sudo aura -Ayu
:: Synchronising package databases...
 core is up to date
 extra is up to date
 community is up to date
aura >>= Fetching package information...
aura >>= Comparing package versions...
aura >>= Determining dependencies...
aura >>= Main AUR packages:
e2defrag-git
kindlegen
multimarkdown-git

aura >>= Continue? [y/n] y
aura >>= Building `e2defrag-git`...
aura: e2defrag-git-20120707-1-x86_64.pkg.tar.xz: rename: unsupported operation (Invalid cross-device link)
$

from aura.

fosskers avatar fosskers commented on May 17, 2024

How do the two of you have things mounted? Here's a line from the definition of renameFile which is the function at issue here:

A conformant implementation need not support renaming files in all situations 
(e.g. renaming across different physical devices), but the constraints must be documented.

from aura.

AbigailBuccaneer avatar AbigailBuccaneer commented on May 17, 2024

Everything's on one physical device.

$ mount
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
dev on /dev type devtmpfs (rw,nosuid,relatime,size=970616k,nr_inodes=242654,mode=755)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
/dev/sda8 on / type ext4 (rw,relatime,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=26,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)
/dev/sda7 on /home type ext4 (rw,relatime,data=ordered)
/dev/sda6 on /boot type ext2 (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
gvfs-fuse-daemon on /run/user/1000/gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,relatime,user_id=1000,group_id=100)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
# fdisk -l

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc217c217

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63   312576704   156288321    7  HPFS/NTFS/exFAT
/dev/sda2       312576705   625142447   156282871+   5  Extended
/dev/sda5       312576768   318568949     2996091   82  Linux swap / Solaris
/dev/sda6   *   318569013   318761729       96358+  83  Linux
/dev/sda7       318761793   429835139    55536673+  83  Linux
/dev/sda8       429835203   586083329    78124063+  83  Linux
/dev/sda9       586083393   625142447    19529527+  83  Linux

from aura.

fosskers avatar fosskers commented on May 17, 2024

Ahhhh I see. Your / and /home are on different partitions. I imagine renameFile doesn't like that.
Try this: Go run aura in say... /etc.

from aura.

AbigailBuccaneer avatar AbigailBuccaneer commented on May 17, 2024

/opt may be a better suggestion, but I'll go run it somewhere on the root partition and report back. :)

(Is renaming a file considered a different option than moving a file?)

from aura.

fosskers avatar fosskers commented on May 17, 2024

I could always try to copyFile, but that would take more time.

from aura.

AbigailBuccaneer avatar AbigailBuccaneer commented on May 17, 2024

-Ayu works just fine on the root partition.

I'm no expert but you should be able to catch the error on renameFile, and fall back to copyFile then deleteFile.

This might be considered a bug with GHC's code.

from aura.

fosskers avatar fosskers commented on May 17, 2024

Just as I thought it might.

Yeah, I'd say this could be considered a bug... or at least an overlook. I wonder if ghc 7.6 fixes this?

from aura.

fosskers avatar fosskers commented on May 17, 2024

I'm considering making it so that all building occurs in temp folders in the package cache. That way they'll never be across different partitions.

from aura.

Kwpolska avatar Kwpolska commented on May 17, 2024

What?! So you say you are building stuff in cwd? Dumb. I do not allow anybody to create stuff when I am not aware of that. And what would happen if I tried to build PKGBUILDer in ~/git/? Would you remove my whole local copy of the repo?

from aura.

fosskers avatar fosskers commented on May 17, 2024

Don't get too excited here. I'm not being reckless; everything is built in temp files which are immediately removed from whatever directory they were created in. Nothing is left over after building (unlike `PKGBUILDer).This has never caused problems for me. You could build a package anywhere and the result would be the same.

from aura.

fosskers avatar fosskers commented on May 17, 2024

This should be fixed now. Please confirm.

from aura.

AbigailBuccaneer avatar AbigailBuccaneer commented on May 17, 2024

Confirmed working for me.

from aura.

fosskers avatar fosskers commented on May 17, 2024

Thank you sir!

from aura.

Kwpolska avatar Kwpolska commented on May 17, 2024

Works on this side, too.

Nothing is left over after building (unlike PKGBUILDer).

I leave stuff over for two reasons: (1) if something fucked up in the build process, the user can go find the PKGBUILD in /tmp/ or CWD; (2) my old method of building packages was to do that in a directory that was publicly accessible.

from aura.

fosskers avatar fosskers commented on May 17, 2024

I like having clean builds / installs.

from aura.

Related Issues (20)

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.