View previous topic :: View next topic |
Author |
Message |
flysideways Guru
Joined: 29 Jan 2005 Posts: 498
|
Posted: Mon Mar 18, 2024 1:29 am Post subject: |
|
|
Code: | build ~ # ls -l /var/tmp/portage/
total 0
drwxrwxr-x 3 portage portage 60 Mar 17 20:18 dev-tcltk
build ~ # ls -l /var/tmp/portage/dev-tcltk/
total 0
drwx------ 8 portage portage 240 Mar 17 20:18 tktable-2.10.8
build ~ # ls -l /var/tmp/portage/dev-tcltk/tktable-2.10.8/
total 0
drwxr-xr-x 2 root portage 60 Mar 17 20:18 distdir
drwxr-xr-x 2 root root 40 Mar 17 20:18 empty
lrwxrwxrwx 1 root root 43 Mar 17 20:18 files -> /var/db/repos/local/dev-tcltk/tktable/files
drwxr-xr-x 2 portage portage 40 Mar 17 20:18 homedir
drwxr-xr-x 3 portage portage 100 Mar 17 20:18 temp
drwx------ 3 portage portage 60 Mar 17 20:18 work
build ~ # ls -l /var/tmp/portage/dev-tcltk/tktable-2.10.8/files
lrwxrwxrwx 1 root root 43 Mar 17 20:18 /var/tmp/portage/dev-tcltk/tktable-2.10.8/files -> /var/db/repos/local/dev-tcltk/tktable/files
|
I'm guessing Code: | /var/tmp/portage/dev-tcltk/tktable-2.10.8/files | needs to belong to portage. I'm not sure how to make that happen. |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22827
|
Posted: Mon Mar 18, 2024 2:21 am Post subject: |
|
|
What is the output of namei -l /var/db/repos/local/dev-tcltk/tktable/files? |
|
Back to top |
|
|
flysideways Guru
Joined: 29 Jan 2005 Posts: 498
|
Posted: Mon Mar 18, 2024 5:14 am Post subject: |
|
|
Code: | build ~ # namei -l /var/db/repos/local/dev-tcltk/tktable/files
f: /var/db/repos/local/dev-tcltk/tktable/files
drwxr-xr-x root root /
drwxr-xr-x root root var
drwxr-xr-x root root db
drwxr-xr-x root root repos
drwxr-xr-x portage portage local
drwxr-xr-x portage portage dev-tcltk
drwxr-xr-x portage portage tktable
files - No such file or directory
|
|
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22827
|
Posted: Mon Mar 18, 2024 2:54 pm Post subject: |
|
|
To recap: flysideways wrote: | Both of the failures are, "no such file or directory", when they get to the first patch in the ebuild. I've searched and looked about a bit, but am not finding anything conclusive.
Both of the failing packages complete successfully when built with the package.accept.keywords method. It is when I try to build them with ~arm64 added to the ebuild that I get the failures. Code: | * Package: dev-tcltk/tktable-2.10.8:0
* Repository: local
/var/tmp/portage/dev-tcltk/tktable-2.10.8/temp/environment: line 290: /var/tmp/portage/dev-tcltk/tktable-2.10.8/files/tktable-2.10-parallelMake.patch: No such file or directory |
|
flysideways wrote: | Code: | build ~ # ls -l /var/tmp/portage/dev-tcltk/tktable-2.10.8/files
lrwxrwxrwx 1 root root 43 Mar 17 20:18 /var/tmp/portage/dev-tcltk/tktable-2.10.8/files -> /var/db/repos/local/dev-tcltk/tktable/files |
|
flysideways wrote: | Code: | build ~ # namei -l /var/db/repos/local/dev-tcltk/tktable/files
f: /var/db/repos/local/dev-tcltk/tktable/files
drwxr-xr-x root root /
drwxr-xr-x root root var
drwxr-xr-x root root db
drwxr-xr-x root root repos
drwxr-xr-x portage portage local
drwxr-xr-x portage portage dev-tcltk
drwxr-xr-x portage portage tktable
files - No such file or directory |
| You get "No such file or directory" when trying to read a file in /var/tmp/portage/dev-tcltk/tktable-2.10.8/files/. That path is a symlink to /var/db/repos/local/dev-tcltk/tktable/files. In turn, that path does not exist, so no files can exist in it. Thus, your result is expected. You cannot use a patch file in a directory that does not exist. The distinction between success and failure is not the difference between package.accept_keywords and adding the ~arm64 KEYWORD. The difference is that in the package.accept_keywords case, you use the Gentoo ebuild, which has a working files directory. In the ~arm64 case, you use an ebuild in your ::local overlay, which has no files directory.
In conclusion: if you want to set up a local overlay, you need to set up the files in it properly. For an ebuild which uses a files directory, you need either to copy the relevant parts of the files directory from ::gentoo or you need to symlink to the ::gentoo copy of the files directory. The latter is expedient, but may break if the Gentoo maintainers subsequently remove a file as unnecessary, but you still rely on it. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54629 Location: 56N 3W
|
Posted: Mon Mar 18, 2024 3:52 pm Post subject: |
|
|
flysideways,
The ebuilds in your ::local overlay should be self contained, except for things they download.
A good start is to cp -a <category>/<package> from ::gentoo to ::local.
Excess ebuilds or ./files/* don't matter. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
flysideways Guru
Joined: 29 Jan 2005 Posts: 498
|
Posted: Mon Mar 18, 2024 5:42 pm Post subject: |
|
|
Both of you, thank you for your time and patience. Your explanations have gotten me to a working understanding and a working Gentoo, my way, too. Sometimes I need the picture drawn with fist sized crayons.
I have avoided overlays since I last used them 12 or 13 years ago for a mythtv computer. They seem to be the best way to deal with the missing arm64 keyword for packages I would like to use.
I do like eselect repository. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54629 Location: 56N 3W
|
Posted: Mon Mar 18, 2024 7:12 pm Post subject: |
|
|
flysideways,
File bugs, share your work.
To appeal to your own self interest, your changes will get into the ::gentoo repo and you won't need to do your own ebuild maintenance.
Version bumps will just appear in ::gentoo. :) _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
flysideways Guru
Joined: 29 Jan 2005 Posts: 498
|
Posted: Thu Mar 21, 2024 3:11 am Post subject: |
|
|
updated with
Code: | The process to add the ~arm64 keyword and enable the vmwgfx video driver is as follows;
Add ~arm64 to the app-emulation/open-vm-tools ebuild
/var/db/repos/gentoo/app-emulation/open-vm-tools/open-vm-tools-12.2.5.ebuild
KEYWORDS="amd64 ~arm64 x86"
Add ~arm64 to the x11-drivers/xf86-video-vmware ebuild
/var/db/repos/gentoo/x11-drivers/xf86-video-vmware/xf86-video-vmware-13.4.0.ebuild
KEYWORDS="amd64 ~arm64 x86"
Add -video_cards_vmware to arm64/use.mask
/var/db/repos/gentoo/profiles/arch/arm64/use.mask
# Unmask ARM-only video-cards
-video_cards_exynos
-video_cards_freedreno
-video_cards_lima
-video_cards_nouveau
-video_cards_panfrost
-video_cards_tegra
-video_cards_v3d
-video_cards_vc4
-video_cards_amdgpu
-video_cards_radeon
-video_cards_radeonsi
-video_cards_vmware
In order to enable the vmware-tools service provided by open-vm-tools
rc-service vmware-tools -v start
rc-update add vmware-tools default |
Pointers on beating the NATTkA bot into submission are welcome. |
|
Back to top |
|
|
|