Giter Club home page Giter Club logo

Comments (12)

petkar avatar petkar commented on May 25, 2024 1

Amazing! Everything including makepkg, fakeroot, fakeroot-tcp and perl works as expected right off the bat now. Do you think the makepkg patch should be automated during installation by default?

from termuxarch.

petkar avatar petkar commented on May 25, 2024 1

Can you please try adding it to ADDmakefakeroot-tcp and ADDmakeyay if you find the time

Done! Submitted a pull request, check it out #16

from termuxarch.

SDRausty avatar SDRausty commented on May 25, 2024 1

This 7abd4f7 commit adds one command aur support via makeyay.bash . If the prerequisite commands have not been run, makeyay.bash will attempt to execute them. Thank you for helping to automate aur.

from termuxarch.

SDRausty avatar SDRausty commented on May 25, 2024

Check if it builds with fakeroot

sudo pacman -S fakeroot ; cd ; git clone https://aur.archlinux.org/yay.git ; cd yay && makepkg -si

==> Entering fakeroot environment...
fakeroot, while creating message channels: Function not implemented
This may be due to a lack of SYSV IPC support.
fakeroot: error while starting the `faked' daemon.

Does it build successfully? Does the po4a binary exist?

cd && git clone https://aur.archlinux.org/fakeroot-tcp.git && cd fakeroot-tcp && makepkg -si --noprepare

/home/user/fakeroot-tcp/PKGBUILD: line 41: po4a: command not found
==> ERROR: A failure occurred in build().
    Aborting...
[user22:51fakeroot-tcp]$ which po4a
which: no po4a in (/home/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/data/data/com.termux/files/home/bin:/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets)
[user22:52fakeroot-tcp]$ pcss po4a
community/po4a 0.59.1-2 [installed]
    Tools for helping translation of documentation
[user22:52fakeroot-tcp]$ uname -m
armv7l

After patching with patch -n -i makepkg.diff -o makepkg /bin/makepkg yay builds and installs:

[user23:59yay]$ yay --version
yay v10.0.3 - libalpm v12.0.2

However, po4a: command not found

from termuxarch.

petkar avatar petkar commented on May 25, 2024

Okay I tested the same, and makepkg seems to be able to enter the fakeroot environment with the normal fakeroot and build successfully after the patch. However perl components are still broken and the binaries still seem to be missing.

❯ whereis po4a
po4a: /usr/share/man/man7/po4a.7.gz /usr/share/man/man1/po4a.1p.gz

❯ whereis cpan
cpan: /usr/share/man/man1/cpan.1perl.gz

Now, it only shows the path to the man pages and the binaries are not installing even if the packages are installed. This isn't the case in the old repo and and the whereis command lists the path as /usr/bin/po4a. Which change do you think caused this regression?

from termuxarch.

SDRausty avatar SDRausty commented on May 25, 2024

Does it build successfully? Does the po4a binary exist?

This 9d9c91d commit adds /etc/profile.d/perlbin.sh support. This enables the path for po4a. The pacman -Fl po4a command helped answer this question. Now fakeroot-tcp builds as expected. There are some errors when run. I am not sure how important they are:

[user01:00fakeroot-tcp]$ fakeroot -v
fakeroot version 1.24
[user01:11fakeroot-tcp]$ fakeroot
dlsym(acl_get_fd): /usr/lib/libfakeroot/libfakeroot.so: undefined symbol: acl_get_fd
dlsym(acl_get_file): /usr/lib/libfakeroot/libfakeroot.so: undefined symbol: acl_get_file
dlsym(acl_set_fd): /usr/lib/libfakeroot/libfakeroot.so: undefined symbol: acl_set_fd
dlsym(acl_set_file): /usr/lib/libfakeroot/libfakeroot.so: undefined symbol: acl_set_file
[root@localhost fakeroot-tcp]#

The answer to both questions is yes. Thank you for bringing these topics to my attention @petkar.

from termuxarch.

SDRausty avatar SDRausty commented on May 25, 2024

Do you think the makepkg patch should be automated during installation by default?

That would be nice, wouldn't it? Maybe even extending it with fakeroot-tcp and yay...

from termuxarch.

petkar avatar petkar commented on May 25, 2024

Maybe even extending it with fakeroot-tcp and yay...

That would indeed be nice. I think yay should be left optional to the user and shouldn't be enforced. As for fakeroot-tcp, it might be necessary if makepkg patch is installed.

There are some errors when run. I am not sure how important they are:

These seem to be unimportant and can be ignored. The fakeroot-tcp repository provides the silence-dlerror.patch to hush these error message if they're annoying.

from termuxarch.

petkar avatar petkar commented on May 25, 2024

Another follow up question, how did yay succeed to build with the default fakeroot package if it can't correctly enter the fakeroot environment?

from termuxarch.

petkar avatar petkar commented on May 25, 2024

The fakeroot-tcp repository provides the silence-dlerror.patch to hush these error message if they're annoying.

the prepare() part should apply the patch, but it fails with the error patch: setting attribute security.selinux for security.selinux: Permission denied and aborts the build. The workaround was to use makepkg -si --noprepare but that skips the patch which silences the errors which happen happens during preparation.

from termuxarch.

petkar avatar petkar commented on May 25, 2024

Okay I found a solution, edit the PKGBUILD file and in the prepare() function, add sudo to the patch command (patch ..... to sudo patch .....) and this will resolve the selinux permission denied error. Then simply running makepkg -si will correctly build it without errors and apply the patch successfully.

from termuxarch.

SDRausty avatar SDRausty commented on May 25, 2024

Okay I found a solution,

Can you please try adding it to _ADDmakefakeroot-tcp_ and _ADDmakeyay_ if you find the time; Function _ADDpatchmakepkg_ is also added to archlinuxconfig.bash to help easily enable aur. The functions add commands makefakeroot-tcp.bash, makeyay.bash and patchmakepkg.bash commands.

from termuxarch.

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.