You are not logged in.

#1 2023-09-14 17:25:57

Sewn_thrytwo
Member
Registered: 2023-06-28
Posts: 18

Need help with installing packages + depends on a custom repository

Hello all ,

today I am a step further from being stuck at my grub shell smile

I installed my archlinux succefully, and made a user entry.
But ! normaly enough I made a mistake :  I forgot a package on my new machine, and now I can't connect to my smartphone's wifi hotspot, so there's that.

I could rerun the installation, get it right and connect to the internet for all the rest. But where is the fun in that right ? So my goal now, is to install without internet the needed packages. Huh, what I do to myself sometimes ... !

I got an SDcard mounted, downloaded from the other machine some packages I wanted, made a [custoom] (not a typo) database at my /home/mickey/repo/custoom, where I saved the packages in the custoom.db.tar directory, but without thinking about the dependencies (I had the feeling it was included). The 'pacman.conf' is now well configured, and the architecture accepted for i686, the latest error concerns the missing dependencies.


Now to my questions/affirmations :  on the page for i3 I see several parenthesis. I have read some of the older forum threads that indicate :

- (make) is meaning of a package that is only a dependency, not run anytime later, so I can delete it afterwards. I'm still missing the way of using "add-repo" for this, but should be something to be found in the documentaries.

- The line " ttf-font (noto-fonts, ttf-droid, ttf-bitstream-vera, ttf-dejavu, ttf-croscore, ttf-ibm-plex, ttf-liberation, gnu-free-fonts) " is uncertain, can I choose one of them, or must they all be installed ?

- The really tricky part for me  : In the beginning of the list there is "libev" ; is it a library or a package ? And is it the same thing as the next 32 lib*** lines ?
     and again : what about it ?

        - I am lost because these lib*** dependencies  also have dependencies. 

             EDIT: Now I think that some of the libraries could be installed in the kernel allready.  Diving further in  wink


So sorry for this long and nooby questionS. Maybe there is better thread/site wherre I could ask this kind of thing ? Stackexchange maybe, but the 32 + archlinux way of life seems to be too specific sometimes.

The last one : Let's say I get all the "first degree" dependencies, do I just put them in my "/home/user/custoom.db.tar" and I'm done ?


A bit of insight would be great, or maybe a link to someone that has described a bit of the custom-repo-without-internet ways.

Hope you have time to give me a push.

Have a nice one !

Last edited by Sewn_thrytwo (2023-09-14 18:02:01)

Offline

#2 2023-09-14 19:59:22

abaumann
Administrator
From: Zurich
Registered: 2019-11-14
Posts: 997
Website

Re: Need help with installing packages + depends on a custom repository

libev.so.4 (libev) (link) translates to: libev as package is needed which provides the shared library libev.so.4. The 'link' says the dependency was detected via ldd as a=
runtime shared library dependency and is not excplicitely declared in PKBUILD in any of the depends sections.

The make are the makedepends (which usually get installed automatically when you build a package 'makepkg -s' or the devtools/devtools32 `build-XXX` comamnds).
Right, they are only needed during the build process, not for running the software later on.

For installing yes, you need all the transitive dependencies (normal and link) of the tree of packages.

Offline

#3 2023-09-15 08:17:16

Sewn_thrytwo
Member
Registered: 2023-06-28
Posts: 18

Re: Need help with installing packages + depends on a custom repository

Well, this is going to be some work ^^

Still with i3 package :

- the libev package needs glibc. And on the page of libev, in the dependencies is written besides glibc  : " (in database only) glibc " , what does it mean ? That glibc is allready in the kernel /usr/lib ?

- If ttf-font is found in all the packages in parenthis, do I need all of them, or just one so I can access to the ttf-font package  ?

- same question different example, for the line " libc.so.6 (glibc, aarch64-linux-gnu-glibc) (link) " ; to get "libc.so.6" can I choose to use glibc or aarch64-linux-**-**-** ?  (Sorry, your answer is well written, but confusion persists)


- Last but not least : Do you also have trouble downloading with the mirror link, or accessing the glibc url ? I have to 'copy as clean link' and transfer in new tab for downloading, and glibc url is hard if not impossible to access. It could be because I'm using a mobile hotspot, I'll give it a try with a better connections next time.

Offline

#4 2023-09-15 08:29:49

abaumann
Administrator
From: Zurich
Registered: 2019-11-14
Posts: 997
Website

Re: Need help with installing packages + depends on a custom repository

Sorry for confusions: because the things are confusing. :-)

The "in database only" means the dependency is tracked in the buildmaster database as dependency, but it
is not a dependency of the package (partly because glibc is assumed to be installed all the time - not much would
work without it). The same is true for all packages appearing in 'base', they are never listed as explicit dependencies
in 'depends=' in PKGBUILD.

The ttf-font is an alias, so any package with a 'provides=('ttf-font')' fullfills the dependency. It transaltes to: the following
font packages contain a ttf-font. i3 needs at least one to work.

To be frank: libm.so.6 (glibc, aarch64-linux-gnu-glibc) (link) makes me crinche (why should we depend on aarch64
on 32-bit Intel). And all thoes GLIB_XX ABI tags. Just assume you need (and have) a glibc installed all the time.
No need to do something here.

About the mirrors, no clue. It works for me (but I'm not on a hotspot and on a laptop).

Offline

#5 2023-09-15 09:14:30

Sewn_thrytwo
Member
Registered: 2023-06-28
Posts: 18

Re: Need help with installing packages + depends on a custom repository

Sweet that'll make easier if I have dependencies already installed from core and base. I'll check the core and base packages to see if other are already included. Realising that the kernel represents the firmwares to communicate with hardware, but also a set of packages.

I hope I'l have it running by the we.


Thank you for the clarifications, note for the future that I'm easily confused big_smile

Offline

#6 2023-09-17 17:48:41

Sewn_thrytwo
Member
Registered: 2023-06-28
Posts: 18

Re: Need help with installing packages + depends on a custom repository

Well, the task is wayyyy bigger than I had in mind.

Please pardon my lack of motivation, I tried until the sunrise, and again in the day. I would have gone further if I had a real internet connection, but half of my downloads went wrong.

Thus I finally switched to the live installation again, but will have to post a question about setting the locales, the files seem corrupted when under chroot script.  ; nevermind:)

Last edited by Sewn_thrytwo (2023-09-21 10:29:39)

Offline

#7 2023-09-21 17:39:05

Sewn_thrytwo
Member
Registered: 2023-06-28
Posts: 18

Re: Need help with installing packages + depends on a custom repository

Hello,

I'm a bit less confused in my ignorance. I mixed normal, pacman repositories and AUR repositories.
I want to /compile/install packages like  an video streamer or Audacity, on my 32bit Samsung, but I have no compiler, or anything like it on my other machine (64 windows). I'm afraid I can't find back a thread where it is said that devtools32 only works on a 64 machine, to be able to compile 32bit for Arch AUR   ?

I understand there is 86_64 AUR, and 32bit AUR's. Some of the 86_64 AUR packages are also to be found in their 32bit version.

To compile and install, I should need : makepkg ; devtools (if the AUR pkg is allready available in i686 on Arch32 or Arch forum) ; devtools32 (if the package exists only in 64bit, but is to be installed on a 32bit) ; wget or pkgctl or git.

Am I right boss ?

I can't figure out precisely which way I need to follow (with wget, or with pckgctl or with git). And wich procedure to retrieve the files with it (Is it the one from "download snapchot" or the "https://aur.archlinux.org/pakagename.git' link, etc)

would this be something to follow blindly, (I have now internet access on my 32bit NC10 Samsung) ? :

https://blog.thepoon.fr/InstallingAURPackage/ or https://dev.to/nabbisen/installing-aur-packages-bdf


I'll rename the post, or make a new post for this question if it's better.

Offline

#8 2023-09-22 06:52:06

abaumann
Administrator
From: Zurich
Registered: 2019-11-14
Posts: 997
Website

Re: Need help with installing packages + depends on a custom repository

This explains what you have to set in AUR PKGBUILD:  https://bbs.archlinux32.org/viewtopic.php?id=2841
This explains how you get the build directory for a normal package: https://bbs.archlinux32.org/viewtopic.php?id=3336

There is no specific 32-bit AUR, just use https://aur.archlinux.org and adapt the 'arch' line as mentioned in the post above.

As for devtools/devtools32: devtools32 is an adapted clone of devtools, you only need that one.
You install devtools32 with make, make install.

https://www.vultr.com/docs/using-devtoo … rch-linux/ explains how to use it, just use

core-staging-pentium4-build
extra-staging-pentium4-build

or

core-staging-i686-build
extra-staging-i686-build

or

core-staging-i486-build
extra-staging-i486-build

to build the package in a 32-bit chroot.

In the end you get the built package in the same directory.

BTW: yay as AUR helper is dead. Try do avoid AUR helpers, they are not adapted for Arch32.

TLDR: a) there is the makepkg-way on a 32-bit Arch32 to build packages from the AUR and
b) there is the devtools-way to build on a 32-bit or 64-bit Arch32/Arch in a chrooted environment.

I have for instance made an  arch32 LXC and a arch32 virtual machine (libvirt) installation, so that
I can also use the makepkg-way to build packages. The LXC and the devtools-way are similar as
they have the environment (64-bit) leak somewhat into the container, so for instance if a package
probes the CPU via /proc/cpuinfo it will get the hosts CPU flags. The virtual machine approach is
slower but you can explicitely set the CPU to 486 or pentium2 or so. Also this leaks into VM (but
to a much smaller extend, so far I just had issues around the endbr branch prediction mitigation
which is/was not fully emulated in qemu).

Offline

#9 2023-09-22 19:32:51

Sewn_thrytwo
Member
Registered: 2023-06-28
Posts: 18

Re: Need help with installing packages + depends on a custom repository

Ok, thank you very much.

I have tried to make devtools32, I was in the directory created by the git clone command

but it returned after some ok lines, until in the end :

GEN doc/man/archbuild.1
/bin/bash: line 1: a2x: command not found
make: *** [Makefile :225: build/doc/man/archbuild.1] Error 127

Should I be also in chroot for this, but Is it not only when using devtools32 that I should ?


I found a paragraph in the make file,

$(BUILDDIR)/doc/man/%: doc/man/%.asciidoc doc/asciidoc.conf donc/maninclude/foter.asciidoc
                          $(GEN_MSG)
                           @mkdir -p $(BUILDDIR)/doc/man
                           @a2x --no-xmllint --asciidoc-opts="-f         -- more options more options                

        and it goes on of course

Last edited by Sewn_thrytwo (2023-09-22 19:55:37)

Offline

#10 2023-09-23 19:56:33

Sewn_thrytwo
Member
Registered: 2023-06-28
Posts: 18

Re: Need help with installing packages + depends on a custom repository

a2x is 'asciidoc' . I installed the package via pacman.

Error still comes out :

File "usr/bin/a2x", line 5, in <module>
       from asciidoc.a2x import cli
ModuleNotFoundError: No module named ' asciidoc'
make: *** {Makefile:225: build/doc/man/archbuild.1] Error 1

Edit :

The makefile is looking for asciidoc , that should be in devtools, Have I misunderstood, should I reinstall devtools in usr/local/ ? But is that not counteradvised ?

(Extract from lines 222 of makefile )

$(BUILDDIR)/doc/man/%: doc/man/%.asciidoc doc/asciidoc.conf doc/man/include/footer.asciidoc
    $(GEN_MSG)
    @mkdir -p $(BUILDDIR)/doc/man
    @a2x --no-xmllint --asciidoc-opts="-f doc/asciidoc.conf" -d manpage -f manpage --destination-dir=$(BUILDDIR)/doc/man -a pkgdatadir=$(DATADIR) $<

(extract from beginning of makefile)

V=$(shell git describe)
SHELL=/bin/bash
BUILDTOOLVER ?= $(V)

PREFIX = /usr/local
MANDIR = $(PREFIX)/share/man
DATADIR = $(PREFIX)/share/devtools
BUILDDIR = build

Last edited by Sewn_thrytwo (2023-09-23 22:52:03)

Offline

#11 2023-09-24 07:34:46

abaumann
Administrator
From: Zurich
Registered: 2019-11-14
Posts: 997
Website

Re: Need help with installing packages + depends on a custom repository

ah, a2x is python and python seems completely broken now on stable. you can just comment out the corresponding
lines in the Makefile generating the documenation:

all: binprogs library conf completion man configfiles

(remove the man)

Offline

#12 2023-09-24 12:46:27

Sewn_thrytwo
Member
Registered: 2023-06-28
Posts: 18

Re: Need help with installing packages + depends on a custom repository

All right, I installed devtools32 by commenting the man lines, removing the man command ;  and commenting the whole paragraph talking about asciidoc.

Sorry If I'm not following rules by poluting this thread with my neverending questions.

Now, I git cloned ffmpeg-full into a relatively early directory ~/builtpakg, and ran :

User1@phobos ffmepg-full]$ extra-staging-i686-build  build 
[sudo] password for User1 :
error : confi g file /etc/pacman.d/mirrorlist32 could not be read : No such file or directory
error parsing '/usr/local/share/devtools/pacman.conf.d/extra-staging-i686.conf'
==> ERROR : 'var/lib/archbuild/extra-staging-i686/root' does not appear to be an arch chroot
==> ERROR : aborting...

I will of course look at the pacman.conf and mirrorlists first!

I thought devtools32 automatically creates and run chroot script from the ffmpeg directory ? I'm doing my best to grasp the "chroot" concept.

Those are my readings, but can't make the right connections yet :
https://wiki.archlinux.org/title/chroot … t_location
https://wiki.archlinux.org/title/Develo … ean_chroot


But first, maybe I shouldn't have installed devtools32 in /home/User1/ ?
Nor should i have devtools (I realised after asking that I already installed it --' )

sheers !

Last edited by Sewn_thrytwo (2023-09-24 14:14:04)

Offline

#13 2023-09-28 19:15:14

andreas_baumann
Administrator
From: Zurich, Switzerland
Registered: 2017-08-10
Posts: 833
Website

Re: Need help with installing packages + depends on a custom repository

Ah, you have to fetch a mirrorlist32 from https://www.archlinux32.org/mirrorlist/ (you can generate there one).
mirrorlist32 is not part of devtools32. You put that one to /etc/pacman.d/mirrorlist32. The scripts in devtools32 are
adapted so they use the arch32 mirrors and not the ones of the host in /etc/pacman.d/mirrorlist.

Sorry, things are sometimes a little bit scarsely documented (or not documented at all) especially for first users of
the internal tools. :-)

Offline

Board footer

Powered by FluxBB