Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Implementing a local repository to use removed pkg
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
eohrnberger
Apprentice
Apprentice


Joined: 09 Dec 2004
Posts: 250

PostPosted: Mon Jul 29, 2024 10:14 pm    Post subject: Implementing a local repository to use removed pkg Reply with quote

Hi all.

I wasn't sure where to place this thread, since the thread "biglybt as replacement for vuze/azureus" (https://forums.gentoo.org/viewtopic-t-1160907-start-0-postdays-0-postorder-asc-highlight-.html) is here, I thought perhaps this was the correct place.

Yes, I know that vuze/azureus has been retired from portage as there are no more upstream updates.

Still, vuze/azureus served me well, and I wish to continue to use it, even if the version will never moves beyond the last one, 5.7.6.0.

I still have that version's files, vuze-coreplugins-5.7.6.0 and vuze-5.7.6.0, their ebuilds, Manifests support files, etc.

I was considering creating a local private report based on these files, unless there's an easier way to install from them.

What is the correct / best way to proceed?
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1676
Location: South America

PostPosted: Mon Jul 29, 2024 10:46 pm    Post subject: Re: Wanting to continue to use vuze/azureus Reply with quote

eohrnberger wrote:
I was considering creating a local private report based on these files, unless there's an easier way to install from them.

What is the correct / best way to proceed?

Yes, use a local ebuild repository so that Portage can manage the package.
_________________
NeddySeagoon wrote:
I'm not a witch, I'm a retired electronics engineer :)
Ionen wrote:
As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Back to top
View user's profile Send private message
charles17
Advocate
Advocate


Joined: 02 Mar 2008
Posts: 3684

PostPosted: Tue Jul 30, 2024 6:16 am    Post subject: Reply with quote

Be aware of bug 857663 mentioned in https://gitweb.gentoo.org/repo/gentoo.git/commit/profiles/package.mask?id=bfd855ea8279f5f50f505bacd4dabbe50235309b
Also java-ant-2.eclass might go away in a not too far furure.
Back to top
View user's profile Send private message
eohrnberger
Apprentice
Apprentice


Joined: 09 Dec 2004
Posts: 250

PostPosted: Tue Jul 30, 2024 11:43 pm    Post subject: Re: Wanting to continue to use vuze/azureus Reply with quote

GDH-gentoo wrote:
eohrnberger wrote:
I was considering creating a local private report based on these files, unless there's an easier way to install from them.

What is the correct / best way to proceed?

Yes, use a local ebuild repository so that Portage can manage the package.


This was my thinking as well.

I was following along the information here: Handbook:AMD64/Portage/CustomTree
(https://wiki.gentoo.org/wiki/Handbook:AMD64/Portage/CustomTree#Creating_a_custom_ebuild_repository)

Setup the /etc/portage/repos.conf/eselect-repo.conf file:
[localrepo]
location = /var/db/repos/localrepo

/var/db/repos/localrepo/net-p2p/vuze containing the files, but emerge doesn't find it, and is still looking for it in the non-local gentoo repo.

It's like, hmm. I'm missing something.

Would anyone happen to know a reference for setting up a local repo that I could read up on more? Thanks in advance!

@mods: seems this thread might be better grouped in with related portage and local repo config threads.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22598

PostPosted: Wed Jul 31, 2024 12:11 am    Post subject: Re: Wanting to continue to use vuze/azureus Reply with quote

eohrnberger wrote:
@mods: seems this thread might be better grouped in with related portage and local repo config threads.
Moved. For more reliable service, I suggest reporting the thread, rather than including the note in a post buried in the thread.
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2380

PostPosted: Wed Jul 31, 2024 8:09 am    Post subject: Re: Wanting to continue to use vuze/azureus Reply with quote

eohrnberger wrote:
but emerge doesn't find it, and is still looking for it in the non-local gentoo repo.

It's like, hmm. I'm missing something.


Did you run pkgdev manifest or ebuild <file> manifest?
Back to top
View user's profile Send private message
eohrnberger
Apprentice
Apprentice


Joined: 09 Dec 2004
Posts: 250

PostPosted: Wed Jul 31, 2024 10:05 pm    Post subject: Re: Wanting to continue to use vuze/azureus Reply with quote

logrusx wrote:
eohrnberger wrote:
but emerge doesn't find it, and is still looking for it in the non-local gentoo repo.

It's like, hmm. I'm missing something.


Did you run pkgdev manifest or ebuild <file> manifest?


No, as there was not calling for either to be run in the documentation which I was reading.

However, now having run them, there's an error result.

while in
Code:

/var/db/repos/localrepo#>pkgdev manifest
 * net-p2p/vuze-5.7.6.0: failed sourcing ebuild: inherit requires unknown eclass: eutils.eclass


while in
Code:
/var/db/repos/localrepo/net-p2p/vuze#>ebuild vuze-5.7.6.0.ebuild manifest

generates the following error output.
Code:

 * ERROR: net-p2p/vuze-5.7.6.0::localrepo failed (depend phase):
 *   eutils.eclass could not be found by inherit()
 *
 * Call stack:
 *             ebuild.sh, line 632:  Called source '/var/portage-remote/db/repos/localrepo/net-p2p/vuze/vuze-5.7.6.0.ebuild'
 *   vuze-5.7.6.0.ebuild, line   8:  Called inherit 'eutils' 'java-pkg-2' 'java-ant-2' 'xdg-utils' 'desktop'
 *             ebuild.sh, line 277:  Called die
 * The specific snippet of code:
 *              [[ -z ${location} ]] && die "${1}.eclass could not be found by inherit()"
 *
 * If you need support, post the output of `emerge --info '=net-p2p/vuze-5.7.6.0::localrepo'`,
 * the complete build log and the output of `emerge -pqv '=net-p2p/vuze-5.7.6.0::localrepo'`.
 * Working directory: '/usr/lib/python3.12/site-packages'
 * S: '/var/tmp/portage/net-p2p/vuze-5.7.6.0/work/vuze-5.7.6.0'


Taking the hint from the error message, here is the output from running emerge --info '=net-p2p/vuze-5.7.6.0::localrepo':
Code:

 * ERROR: net-p2p/vuze-5.7.6.0::localrepo failed (depend phase):
 *   eutils.eclass could not be found by inherit()
 *
 * Call stack:
 *             ebuild.sh, line 632:  Called source '/var/portage-remote/db/repos/localrepo/net-p2p/vuze/vuze-5.7.6.0.ebuild'
 *   vuze-5.7.6.0.ebuild, line   8:  Called inherit 'eutils' 'java-pkg-2' 'java-ant-2' 'xdg-utils' 'desktop'
 *             ebuild.sh, line 277:  Called die
 * The specific snippet of code:
 *         [[ -z ${location} ]] && die "${1}.eclass could not be found by inherit()"
 *
 * If you need support, post the output of `emerge --info '=net-p2p/vuze-5.7.6.0::localrepo'`,
 * the complete build log and the output of `emerge -pqv '=net-p2p/vuze-5.7.6.0::localrepo'`.
 * Working directory: '/usr/lib/python3.12/site-packages'
 * S: '/var/tmp/portage/net-p2p/vuze-5.7.6.0/work/vuze-5.7.6.0'
Portage 3.0.65 (python 3.12.3-final-0, !/usr/portage/gentoo/profiles/default/linux/amd64/23.0/desktop/, gcc-13, glibc-2.39-r6, 6.6.30-gentoo-x86_64 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.6.30-gentoo-x86_64-x86_64-AMD_Phenom-tm-_II_X4_B95_Processor-with-glibc2.39
KiB Mem:     8143988 total,   1284976 free
KiB Swap:   33554428 total,  33554416 free
Timestamp of repository gentoo: Tue, 30 Jul 2024 01:30:01 +0000
Head commit of repository gentoo: 0a6e658bd0ec43d37d54d2e4f6a6a6ab003d5935
Head commit of repository brave-overlay: 9bb7a7913d64a99b43b9c35926c95b2d76bcfc90

Timestamp of repository dilfridge: Fri, 12 Jul 2024 07:49:06 +0000
Head commit of repository dilfridge: 6b6840d91be32a48dcf922269efaa83e35b74e2c

sh bash 5.2_p26-r6
ld GNU ld (Gentoo 2.42 p3) 2.42.0
distcc 3.4 x86_64-pc-linux-gnu [enabled]
ccache version 4.9.1 [enabled]
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.2_p26-r6::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.69-r9::gentoo, 2.71-r7::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.28.5::gentoo
dev-build/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.4.1::gentoo
dev-java/java-config:      2.3.4::gentoo
dev-lang/perl:             5.38.2-r3::gentoo
dev-lang/python:           3.10.14_p1-r1::gentoo, 3.11.9-r1::gentoo, 3.12.3-r1::gentoo
dev-lang/rust-bin:         1.79.0::gentoo
dev-util/ccache:           4.9.1-r1::gentoo
sys-apps/baselayout:       2.15::gentoo
sys-apps/openrc:           0.54.2::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-devel/binutils:        2.42-r1::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           17.0.6::gentoo, 18.1.8::gentoo
sys-devel/gcc:             13.3.1_p20240614::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/lld:             17.0.6::gentoo, 18.1.8::gentoo
sys-devel/llvm:            17.0.6::gentoo, 18.1.8-r1::gentoo
sys-kernel/linux-headers:  6.6-r1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.39-r6::gentoo
Repositories:

gentoo
    location: /var/portage-remote/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: True
    sync-rsync-verify-metamanifest: no
    sync-rsync-verify-max-age: 3
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts:

brave-overlay
    location: /var/portage-remote/db/repos/brave-overlay
    sync-type: git
    sync-uri: https://gitlab.com/jason.oliveira/brave-overlay.git
    masters: gentoo
    volatile: True

dilfridge
    location: /var/portage-remote/db/repos/dilfridge
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/dilfridge.git
    masters: gentoo
    volatile: True

localrepo
    location: /var/portage-remote/db/repos/localrepo
    masters: gentoo
    volatile: True

Binary Repositories:

gentoobinhost
    priority: 1
    sync-uri: https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind /var/spool/munin-async/.ssh"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php8.1/ext-active/ /etc/php/apache2-php8.2/ext-active/ /etc/php/cgi-php8.1/ext-active/ /etc/php/cgi-php8.2/ext-active/ /etc/php/cli-php8.1/ext-active/ /etc/php/cli-php8.2/ext-active/ /etc/php/fpm-php8.1/ext-active/ /etc/php/fpm-php8.2/ext-active/ /etc/php/phpdbg-php8.1/ext-active/ /etc/php/phpdbg-php8.2/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask=n"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live ccache config-protect-if-modified distcc distlocks ebuild-locks fixlafiles getbinpkg ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="                                                        http://www.gtlib.gatech.edu/pub/gentoo                                  rsync://rsync.gtlib.gatech.edu/gentoo                                   https://gentoo.osuosl.org/                                              http://gentoo.osuosl.org/                                               https://mirrors.rit.edu/gentoo/                                         http://mirrors.rit.edu/gentoo/                                          ftp://mirrors.rit.edu/gentoo/                                           rsync://mirrors.rit.edu/gentoo/                                         "
LANG="en_US"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
LINGUAS="en_US"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git --exclude=.zfs"
PORTAGE_TMPDIR="/var/tmp"
PYTHONPATH=" /root/.local/lib64/python3.6/ /root/.local/lib64/python3.6/"
SHELL="/bin/bash"
USE="X a52 aac acl acpi alsa amd64 bluetooth branding bzip2 cairo cdda cdr cet crypt cups dbus dist-kernel dri dts dvd dvdr elogind encode exif flac gdbm gif gles2 gpm gtk gui iconv icu jpeg kf6compat lcms libnotify libtirpc mad mng mp3 mp4 mpeg multilib ncurses nls ogg opengl openmp pam pango pcre pdf png policykit ppds qt5 readline sdl seccomp sound spell ssl startup-notification svg test-rust tiff truetype udev udisks unicode upower usb vorbis vulkan wayland widgets wxwidgets x264 xattr xcb xft xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby31 ruby32" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, MAKEOPTS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22598

PostPosted: Wed Jul 31, 2024 10:08 pm    Post subject: Reply with quote

The ebuild you retrieved uses an eclass that no longer exists. You will need to recover that eclass, or patch the ebuild not to use it.
Back to top
View user's profile Send private message
eohrnberger
Apprentice
Apprentice


Joined: 09 Dec 2004
Posts: 250

PostPosted: Wed Jul 31, 2024 10:33 pm    Post subject: Reply with quote

Hu wrote:
The ebuild you retrieved uses an eclass that no longer exists. You will need to recover that eclass, or patch the ebuild not to use it.

Thanks for your patience and responses. I very much appreciate them.

So OK.
I've located an eutils.eclass file. It's from a system where I was trying to migrate from the version 17 profile to the most current profile, v23. This system is scheduled to be scratched when I complete the build which I'm working on, which includes getting vuze installed.

The target version 23 profile system, where I want to install vuse, has all its eclass files in:
/usr/portage/gentoo/eclass

In the /usr/portage/ directory it also has brave-overlay and dilfridge directories, so I'm thinking that I'd need to add a localrepo directory, with that add an eclass subdir, to which to copy the missing eclass files.

Do this sound / appear to be correct?

Also, is there a location which portage searches under the /var/db/repos/localrepo where these eclass files can reside? I'm thinking in the future, should I chose to remove the localrepo, that these eclass files wouldn't be needed, and could be removed along with the other localrepo specific files.

Again, thanks for your patience and responses. I very much appreciate them.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22598

PostPosted: Sun Aug 04, 2024 2:22 pm    Post subject: Reply with quote

As I remember how this works, each repository can have its own eclass directory at its top level, so you would want /var/db/repos/localrepo/eclass/eutils.eclass and /var/db/repos/localrepo/net-p2p/vuze/vuze-5.7.6.0.ebuild. This nicely keeps the files somewhat related, so if you later remove /var/db/repos/localrepo, both vuze and the eclass are deleted.
Back to top
View user's profile Send private message
eohrnberger
Apprentice
Apprentice


Joined: 09 Dec 2004
Posts: 250

PostPosted: Mon Aug 05, 2024 9:26 pm    Post subject: Reply with quote

Hu wrote:
As I remember how this works, each repository can have its own eclass directory at its top level, so you would want /var/db/repos/localrepo/eclass/eutils.eclass and /var/db/repos/localrepo/net-p2p/vuze/vuze-5.7.6.0.ebuild. This nicely keeps the files somewhat related, so if you later remove /var/db/repos/localrepo, both vuze and the eclass are deleted.

Hey, that's good info.

OK, so I copied the desktop.eclass, eutils.eclass, java-ant-2.eclass, java-pkg-2.eclass, xdg-utils.eclass from my source to /var/db/repos/localrepo/eclass and re-executed the search:

emerge -s net-p2p/vuze
resulting in the following error message:
Code:

 * ERROR: net-p2p/vuze-5.7.6.0::localrepo failed (depend phase):
 *   eutils: EAPI 7 not supported
 *
 * Call stack:
 *             ebuild.sh, line 632:  Called source '/var/portage-remote/db/repos/localrepo/net-p2p/vuze/vuze-5.7.6.0.ebuild'
 *   vuze-5.7.6.0.ebuild, line   8:  Called inherit 'eutils' 'java-pkg-2' 'java-ant-2' 'xdg-utils' 'desktop'
 *             ebuild.sh, line 312:  Called __qa_source '/var/portage-remote/db/repos/localrepo/eclass/eutils.eclass'
 *             ebuild.sh, line 123:  Called source '/var/portage-remote/db/repos/localrepo/eclass/eutils.eclass'
 *         eutils.eclass, line  19:  Called die
 * The specific snippet of code:
 *      *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;


I would add that the file: /var/db/repos/localrepo/profiles/eapi contains:
8

I changed this to 7 and tried again, but it didn't change the error message.

Does this mean that I need to go through the eclass files and / or the ebuild files and remove the demand for EAPI 7?
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22598

PostPosted: Mon Aug 05, 2024 11:54 pm    Post subject: Reply with quote

As I read the gentoo.git history, eutils.eclass once supported EAPI 7, but that was removed before the eclass itself was deleted. You can use an older version of eutils.eclass, or modify vuze not to use eutils.eclass. I think eutils.eclass was deprecated and removed because newer EAPI versions offer equivalent functionality (though not necessarily under the same names).
Back to top
View user's profile Send private message
eohrnberger
Apprentice
Apprentice


Joined: 09 Dec 2004
Posts: 250

PostPosted: Sat Aug 31, 2024 6:19 pm    Post subject: Reply with quote

Hi all, I've been plugging and poking away at this over the past weeks, but I think I'm stuck.

What I've figured out so far:

There are 3 packages in all that I've identified to emerge for running vuze.
Code:
=net-p2p/vuze-coreplugins-5.7.6.0
=net-p2p/vuze-5.7.6.0.ebuild
=dev-java/swt-3.8.2-r3

=net-p2p/vuze-coreplugins-5.7.6.0
This ebuild didn't require any changes. It's pretty minimal and only downloads the vuze-coreplugins .Zip file.

This, of courese depends on =net-p2p/vuze-coreplugins-5.7.6.0

The changes I've made to this ebuild file are as follows:

1). Since eutils is no longer in the gentoo eclasses, change the inherit line to:
Code:
inherit java-pkg-2 java-ant-2 xdg-utils desktop edos2unix


2). There some packages which were decalred as being dependant on which weren't found in the portage tree, so changed:
Code:

CDEPEND="
   dev-java/log4j:0
   dev-java/swt:3.8[cairo]
    dev-java/json-simple:0
   dev-java/commons-lang:2.1"
to:
Code:

CDEPEND="
   dev-java/commons-cli:1
   dev-java/json-simple
   dev-java/commons-lang"

It's at this point where the emerge complained about
Code:
!!! ERROR: Package swt-3.8 was not found!


So started working on adapting the ebuild that specific version of swt.

3). Again, removed eutils, so changed
Code:
# inherit eutils java-pkg-2 java-ant-2 xdg-utils desktop
to:
Code:
inherit java-pkg-2 xdg-utils desktop edos2unix

4). Some IUSE flags appear to be missing, so changed:
Code:
IUSE="cairo opengl"
to:
Code:
IUSE="cairo opengl elibc_FreeBSD x86-fbsd"

4). In the ebuild file there's a use of:
Code:
QA_SONAME="usr/$(get_libdir)/libswt-.*.so"

The get_libdir function can't be used, it complains about being 'top level' IIR, so changed that line to:
Code:
QA_SONAME="/usr/lib64/libswt-.*.so"


Making sure to update the digest, as we've edited the ebuild file, we get this error message:
Code:
ebuild swt-3.8.2-r3.ebuild digest
Error(s) in metadata for 'dev-java/swt-3.8.2-r3':
  SRC_URI: USE flag 'x86-fbsd' referenced in conditional 'x86-fbsd?' is not in IUSE

Hmm. Not sure what to make of this error message, as x86-fbsd is included in the IUSE var.

So, tried to emerge =dev-java/swt-3.8.2-r3 anyway.
Code:
x86_64-pc-linux-gnu-gcc -shared -fPIC  -o libswt-glx-gtk-3836.so swt.o glx.o glx_structs.o glx_stats.o -lGL -lGLU -lm
 * Building JNI libraries
 * Disabling all optional ANT_TASKS
Buildfile: build.xml does not exist!
Build failed
 * ERROR: dev-java/swt-3.8.2-r3::localrepo failed (compile phase):

Looking around, I believe that the build.xml file is something that should be included in the source files for the swt package.
It's here where I'm stuck, and am not sure what to do from here.
Back to top
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 1945

PostPosted: Sun Sep 01, 2024 12:42 am    Post subject: Reply with quote

Unfortunately, that starts to stray into something Java-ecosystem-specific. You can try asking in #gentoo-java on IRC and see if anyone can help.

By the way, I'm sort of curious as to if you've used some ancient versions (far older than needed or something). For exmaple, swt-3.8.2-r4 in the 3.7 slot is still in tree. Why not use that? I thought Vuze got removed not that long ago, and FreeBSD support was removed far longer back.
Back to top
View user's profile Send private message
charles17
Advocate
Advocate


Joined: 02 Mar 2008
Posts: 3684

PostPosted: Sun Sep 01, 2024 6:10 am    Post subject: Reply with quote

eohrnberger wrote:

Looking around, I believe that the build.xml file [...]

https://gitweb.gentoo.org/repo/gentoo.git/commit/dev-java/swt/files/build.xml?id=92632350c74e25fbcfa41e88c8dbc110baa5d67c
Back to top
View user's profile Send private message
eohrnberger
Apprentice
Apprentice


Joined: 09 Dec 2004
Posts: 250

PostPosted: Sun Sep 01, 2024 2:30 pm    Post subject: Reply with quote

sam_ wrote:
Unfortunately, that starts to stray into something Java-ecosystem-specific. You can try asking in #gentoo-java on IRC and see if anyone can help.

By the way, I'm sort of curious as to if you've used some ancient versions (far older than needed or something). For exmaple, swt-3.8.2-r4 in the 3.7 slot is still in tree. Why not use that? I thought Vuze got removed not that long ago, and FreeBSD support was removed far longer back.


charles17 wrote:
eohrnberger wrote:

Looking around, I believe that the build.xml file [...]

https://gitweb.gentoo.org/repo/gentoo.git/commit/dev-java/swt/files/build.xml?id=92632350c74e25fbcfa41e88c8dbc110baa5d67c

Hi guys. Hey, thanks for responding. Yes, it is Java-ecosystem specific, and, yes, swt-3.8.2-r3 doesn't build because of the error I posted, however, I checked further into the older gentoo system on which I do have vuze running, and it does have swt-3.8.2-r4 installed and running, and when I tried to build that version it worked just fine, didn't even have to change the ebuild file, so I'm going with that version.

Now that swt is built and installed, on to vuze. Got these error messages:
Code:
>>> Compiling source in /var/tmp/portage/net-p2p/vuze-5.7.6.0/work/vuze-5.7.6.0 ...
 * Disabling all optional ANT_TASKS
!!! ERROR: Package json-simple was not found!
 * ERROR: net-p2p/vuze-5.7.6.0::localrepo failed (compile phase):
 *   java-config --classpath=swt-3.8,json-simple,log4j,commons-cli-1 failed


I'll have to dig into these a bit more, but I notice that:
Code:
eix -s json-simple
[I] dev-java/json-simple
     Available versions:  (2.3) 2.3.1^t
       {doc source test}
     Installed versions:  2.3.1(2.3)^t(15:32:07 06/12/24)(-doc -source -test)
     Homepage:            https://www.json.org
     Description:         Java 7+ toolkit to quickly develop RFC 4627 JSON compatible applications

so it must be in how that package is detecting whether json-simple is installed or not. I'll report back my findings when I have collected them.

So a bump forward, and a new challenge to figure out. Progress. Slow and steady.
Back to top
View user's profile Send private message
charles17
Advocate
Advocate


Joined: 02 Mar 2008
Posts: 3684

PostPosted: Sun Sep 01, 2024 3:27 pm    Post subject: Reply with quote

eohrnberger wrote:
Code:
[...]
 *   java-config --classpath=swt-3.8,json-simple,log4j,commons-cli-1 failed

It is looking for json-simple with SLOT=0

eohrnberger wrote:
Code:
[...]
     Available versions:  (2.3) 2.3.1^t

(2.3) means SLOT="2.3", see https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-java/json-simple/json-simple-2.3.1.ebuild#n18

Checking the log might help: https://gitweb.gentoo.org/repo/gentoo.git/log/dev-java/json-simple

But, instead of wasting your time with a package where upstream is dead, don't you think it might be more useful to help improving net-p2p/biglybt with meaningful bug reports or even with pull requests? Maybe compare other distros' efforts to make it more linux compatible?
Back to top
View user's profile Send private message
eohrnberger
Apprentice
Apprentice


Joined: 09 Dec 2004
Posts: 250

PostPosted: Sun Sep 01, 2024 4:20 pm    Post subject: Reply with quote

charles17 wrote:
eohrnberger wrote:
Code:
[...]
 *   java-config --classpath=swt-3.8,json-simple,log4j,commons-cli-1 failed

It is looking for json-simple with SLOT=0

eohrnberger wrote:
Code:
[...]
     Available versions:  (2.3) 2.3.1^t

(2.3) means SLOT="2.3", see https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-java/json-simple/json-simple-2.3.1.ebuild#n18

Checking the log might help: https://gitweb.gentoo.org/repo/gentoo.git/log/dev-java/json-simple

But, instead of wasting your time with a package where upstream is dead, don't you think it might be more useful to help improving net-p2p/biglybt with meaningful bug reports or even with pull requests? Maybe compare other distros' efforts to make it more linux compatible?


It is true, that I haven't tried biglybt in a long time. I installed that and works as expected (don't think that was the case last time - glad to see things change!), this the shortest path to what's required.

Other than removing the localrepo which I've setup for this purpose, easy to clean up. :)
Back to top
View user's profile Send private message
eohrnberger
Apprentice
Apprentice


Joined: 09 Dec 2004
Posts: 250

PostPosted: Sun Sep 01, 2024 6:15 pm    Post subject: Reply with quote

Implementing a local repository to use removed pkg

So, in conclusion, yes, it can be done, but it's probably not easy, and request more knowledge about how portage and the gentoo build system works than I have.

Many thanks to those who lent assistance in this thread.
Back to top
View user's profile Send private message
charles17
Advocate
Advocate


Joined: 02 Mar 2008
Posts: 3684

PostPosted: Mon Sep 02, 2024 6:41 am    Post subject: Reply with quote

prepending [Solved] to the title?
Back to top
View user's profile Send private message
eohrnberger
Apprentice
Apprentice


Joined: 09 Dec 2004
Posts: 250

PostPosted: Tue Sep 03, 2024 10:28 pm    Post subject: Reply with quote

charles17 wrote:
prepending [Solved] to the title?

Sure. But not so much a resolution as it would be a conclusion.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum