On 161223-05:38+0100, Miroslav Rovis wrote:
> It took me all of my skills ;-) . But I installed Pale Moon
...
> That's new technology. EAPI=6 in the ebuild
> Nothing I've seen in my previous 7 years as Gentoo
...
> I'd like to provide detailed info here how the above happened

Maybe start from the witness of the completed install.

That is, from the (witnessing) log:
/var/log/portage/www-client:palemoon-27.0.3-r6:20161221-204523.log

after having in some apparently correct way modified the ebuild in my local
overlay, and upon issuing:

# emerge palemoon

So, the log:

 * Package:    www-client/palemoon-27.0.3-r6
 * Repository: miro
 * USE:        abi_x86_64 alsa amd64 elibc_glibc gstreamer gtk2 kernel_linux 
official-branding optimize userland_GNU
 * FEATURES:   preserve-libs sandbox userpriv usersandbox
>>> Unpacking source...
 * Fetching http://localhost/cgi-bin/cgit.cgi/Pale-Moon.git ...
git fetch http://localhost/cgi-bin/cgit.cgi/Pale-Moon.git 
+refs/tags/27.0.3_Release:refs/tags/27.0.3_Release
From http://localhost/cgi-bin/cgit.cgi/Pale-Moon
 * [new tag]             27.0.3_Release -> 27.0.3_Release
 * [new tag]             24.5.1_beta4                -> 24.5.1_beta4

 ... [130 entries cut here] ...

 * [new tag]             27.0.1_Release              -> 27.0.1_Release
 * [new tag]             27.0.2_Release              -> 27.0.2_Release
 * [new tag]             GUID_working_base           -> GUID_working_base

 ... [35 entries cut here] ...

 * [new tag]             SUMOZI_25.1.0_MERGE         -> SUMOZI_25.1.0_MERGE
 * [new tag]             SUMOZI_25.2.0_MERGE         -> SUMOZI_25.2.0_MERGE
git symbolic-ref refs/git-r3/www-client/palemoon/0/__main__ 
refs/tags/27.0.3_Release
 * Checking out http://localhost/cgi-bin/cgit.cgi/Pale-Moon.git to 
/var/tmp/portage/www-client/palemoon-27.0.3-r6/work/palemoon-27.0.3 ...
git checkout --quiet refs/tags/27.0.3_Release
GIT NEW branch -->
   repository:               http://localhost/cgi-bin/cgit.cgi/Pale-Moon.git
   at the commit:            cff1b1447aa25e27b7294bb6986e79c98ae04a03
>>> Source unpacked in /var/tmp/portage/www-client/palemoon-27.0.3-r6/work
>>> Preparing source in 
>>> /var/tmp/portage/www-client/palemoon-27.0.3-r6/work/palemoon-27.0.3 ...
>>> Source prepared.
>>> Configuring source in 
>>> /var/tmp/portage/www-client/palemoon-27.0.3-r6/work/palemoon-27.0.3 ...
 * You are enabling official branding. You may not redistribute this build

 ... [9700 lines cut here] ...

>>> /usr/lib64/palemoon/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
>>> /usr/lib64/palemoon/browser/blocklist.xml
>>> /usr/lib64/palemoon/browser/searchplugins/

 ... [5 lines cut here] ...

>>> /usr/lib64/palemoon/browser/searchplugins/duckduckgo-palemoon.xml

 ... [12 lines cut here] ...

>>> /usr/lib64/palemoon/libnssdbm3.so
>>> /usr/lib64/palemoon/components/
>>> /usr/lib64/palemoon/components/components.manifest
>>> /usr/lib64/palemoon/components/libmozgnome.so
>>> /usr/lib64/palemoon/palemoon
--- /usr/bin/
>>> /usr/bin/palemoon -> /usr/lib64/palemoon/palemoon
 * Updating desktop mime database ...
 * Updating icons cache ...
 [ ok ]
>>> www-client/palemoon-27.0.3-r6 merged.
>>> Regenerating /etc/ld.so.cache...

So the installation completed smoothly.

Now, in the /usr/portage/distfiles it looks pretty courious. Never seen
anything in my 8 years more or less daily using of Gentoo (hundreds upon
hundreds of compilations ;-) ):

The git object pack sources, guess where they are by looking up:

# du -hs /usr/portage/distfiles/git3-src\
EGIT_MIRROR_URI\=git\:/localhost/cgi-bin/cgit.cgi/cgi-bin_cgit.cgi_Pale-Moon.git/*/

48K     /usr/portage/distfiles/git3-src
EGIT_MIRROR_URI=git:/localhost/cgi-bin/cgit.cgi/cgi-bin_cgit.cgi_Pale-Moon.git/hooks/

8.0K    /usr/portage/distfiles/git3-src
EGIT_MIRROR_URI=git:/localhost/cgi-bin/cgit.cgi/cgi-bin_cgit.cgi_Pale-Moon.git/info/

283M    /usr/portage/distfiles/git3-src
EGIT_MIRROR_URI=git:/localhost/cgi-bin/cgit.cgi/cgi-bin_cgit.cgi_Pale-Moon.git/objects/

744K    /usr/portage/distfiles/git3-src
EGIT_MIRROR_URI=git:/localhost/cgi-bin/cgit.cgi/cgi-bin_cgit.cgi_Pale-Moon.git/refs/

#

( reformatted the above output for email, but those are 5 distinct lines of
stdout only )

The successful ebuild that I modified the palemon-overlay ebuild into is:

palemoon-27.0.3-r6.ebuild

but my other previous ebuild modifications/adaptations for local cgit mirror
had all failed. Obviously all based on palemoon-27.0.3.ebuild from the
official palemoon-overlay repo.

Let me again return to the strange looks of the 
/usr/portage/distfiles/git3-src\ 
EGIT_MIRROR_URI\=git\:/localhost/cgi-bin/cgit.cgi/cgi-bin_cgit.cgi_Pale-Moon.git

That above is the complete path, but here I present it more clearly (and
verbosely):

# ls -l /usr/portage/distfiles/ | grep git3-src
drwxr-xr-x 3 portage portage      4096 2016-12-21 21:19 git3-src 
EGIT_MIRROR_URI=git:
# ls -l /usr/portage/distfiles/git3-src\ EGIT_MIRROR_URI\=git\:/
total 4
drwxr-xr-x 3 portage portage 4096 2016-12-21 21:19 localhost
# ls -l /usr/portage/distfiles/git3-src\ EGIT_MIRROR_URI\=git\:/localhost/
total 4
drwxr-xr-x 3 portage portage 4096 2016-12-21 21:19 cgi-bin
# ls -l /usr/portage/distfiles/git3-src\ 
EGIT_MIRROR_URI\=git\:/localhost/cgi-bin/
total 4
drwxr-xr-x 4 portage portage 4096 2016-12-21 21:24 cgit.cgi
# ls -l /usr/portage/distfiles/git3-src\ 
EGIT_MIRROR_URI\=git\:/localhost/cgi-bin/cgit.cgi/
total 8
drwxr-xr-x 6 portage portage 4096 2016-12-21 21:19 
cgi-bin_cgit.cgi_Pale-Moon.git
drwxr-xr-x 6 portage portage 4096 2016-12-21 21:24 
MoonchildProductions_Pale-Moon.git
# ls -l /usr/portage/distfiles/git3-src\ 
EGIT_MIRROR_URI\=git\:/localhost/cgi-bin/cgit.cgi/cgi-bin_cgit.cgi_Pale-Moon.git/
total 52
-rw-r--r-- 1 portage portage    66 2016-12-21 21:19 config
-rw-r--r-- 1 portage portage    73 2016-12-21 21:19 description
-rw-r--r-- 1 portage portage 22016 2016-12-21 21:45 FETCH_HEAD
-rw-r--r-- 1 portage portage    23 2016-12-21 21:19 HEAD
drwxr-xr-x 2 portage portage  4096 2016-12-21 21:19 hooks
drwxr-xr-x 2 portage portage  4096 2016-12-21 21:19 info
drwxr-xr-x 5 portage portage  4096 2016-12-21 21:45 objects
drwxr-xr-x 5 portage portage  4096 2016-12-21 21:45 refs
# du -hs /usr/portage/distfiles/git3-src\ 
EGIT_MIRROR_URI\=git\:/localhost/cgi-bin/cgit.cgi/cgi-bin_cgit.cgi_Pale-Moon.git/*/
48K     /usr/portage/distfiles/git3-src 
EGIT_MIRROR_URI=git:/localhost/cgi-bin/cgit.cgi/cgi-bin_cgit.cgi_Pale-Moon.git/hooks/
8.0K    /usr/portage/distfiles/git3-src 
EGIT_MIRROR_URI=git:/localhost/cgi-bin/cgit.cgi/cgi-bin_cgit.cgi_Pale-Moon.git/info/
283M    /usr/portage/distfiles/git3-src 
EGIT_MIRROR_URI=git:/localhost/cgi-bin/cgit.cgi/cgi-bin_cgit.cgi_Pale-Moon.git/objects/
744K    /usr/portage/distfiles/git3-src 
EGIT_MIRROR_URI=git:/localhost/cgi-bin/cgit.cgi/cgi-bin_cgit.cgi_Pale-Moon.git/refs/
# 

( it's the same 5 distinct lines of stdout these in bottom, and if they don't
show well in your mail client, look them up in reformated guise further above )

So, let me remember how I got there.

Firstly, I, sure, cloned the palemoon-overlay. No I didn't use the layman for
that (I'd be using layman if I were able to verify installs like I can with
webrsync-gpg which is not feasible with git at this time, so I go
manually, and carefully check all the components to compilations), but
simply instead I 'git clone'-d it:

$ git clone https://github.com/deuiore/palemoon-overlay

I also cloned the Moonchild Productions' PaleMoon.git overlay (else how would
I install it in Air-Gapped?):

$ git clone https://github.com/MoonchildProductions/Pale-Moon.git

I followed again (it's heavily changed since some one year ago, no more
PORTDIR_OVERLAY) the guide at:

https://wiki.gentoo.org/wiki/Overlay/Local_overlay

and copied over files from the just cloned palemoon-overlay, and created, what
with the copy-renamed and modified ebuilds looks like:

# ls -lR /usr/local/portage/www-client/palemoon/
/usr/local/portage/www-client/palemoon/:
total 76
drwxr-xr-x 3 miro miro 4096 2016-12-18 08:40 files
-rw-r--r-- 1 root root 4209 2016-12-21 21:44 Manifest
-rw-r--r-- 1 miro miro 5907 2016-12-21 00:42 palemoon-27.0.2.ebuild
-rw-r--r-- 1 miro miro 5907 2016-12-21 00:42 palemoon-27.0.3.ebuild
-rw-r--r-- 1 miro miro 5956 2016-12-21 16:53 palemoon-27.0.3-r1.ebuild
... [ 4 more unsuccessful ebuilds from -r2 to -r5 here ] ...
-rw-r--r-- 1 miro miro 5903 2016-12-21 21:44 palemoon-27.0.3-r6.ebuild

/usr/local/portage/www-client/palemoon/files:
total 8
-rw-r--r-- 1 miro miro  329 2016-12-18 08:40 default-prefs.js-0
drwxr-xr-x 2 miro miro 4096 2016-12-18 08:40 icon

/usr/local/portage/www-client/palemoon/files/icon:
total 4
-rw-r--r-- 1 miro miro 277 2016-12-18 08:40 palemoon.desktop
#

I also needed to copy over some that you can recognize which ones by
their sizes:

# ls -l /some-dir/palemoon-overlay/[emp]*
/some-dir/palemoon-overlay/eclass:
total 8
-rw-r--r-- 1 miro miro 1764 2016-12-18 08:40 palemoon-0.eclass
-rw-r--r-- 1 miro miro  360 2016-12-18 08:40 palemoon-bin-0.eclass

/some-dir/palemoon-overlay/metadata:
total 4
-rw-r--r-- 1 miro miro 17 2016-12-18 08:40 layout.conf

/some-dir/palemoon-overlay/profiles:
total 8
-rw-r--r-- 1 miro miro 510 2016-12-18 08:40 package.mask
-rw-r--r-- 1 miro miro   9 2016-12-18 08:40 repo_name
#

# ls -l /usr/local/portage/[emp]*
/usr/local/portage/eclass:
total 4
-rw-r--r-- 1 miro miro 1764 2016-12-18 08:40 palemoon-0.eclass

/usr/local/portage/metadata:
total 4
-rw-r--r-- 1 portage portage 17 2015-07-08 15:54 layout.conf

/usr/local/portage/profiles:
total 8
-rw-r--r-- 1 portage portage 60 2016-11-13 21:55 categories
-rw-r--r-- 1 portage portage  5 2015-07-08 15:54 repo_name
#

( but my repo_name contains the string 'miro', not the string 'palemoon', the
string + newline, makes 5 and 9 ; I guess the most important of the
above is the palemoon-0.eclass )

What is needed in the /etc/portage/make.conf is:

EGIT3_STORE_DIR=${DISTDIR}/git3-src"
EGIT_MIRROR_URI=git://localhost/cgi-bin/cgit.cgi/"

( Note at proofreading time: true, that is still stuck in the make.conf,
and it is what was in there when the successful install happend, but
shouldn't it be http://localhost/cgi-bin/cgit.cgi/ instead? )

I got those by studying over at devmanual this page:

https://devmanual.gentoo.org/eclass-reference/git-r3.eclass/index.html

and actually I also studied where there's even more, in:

/usr/portage/eclass/git-r3.eclass

( a very interesting but somewhat hard read :-( )

And here follow all the tries. Listing them all because it's simpler... I'll
just run this bash line to loop on all of them:

# for i in $(ls -1 /usr/local/portage/www-client/palemoon/ | grep -E 
'3.ebuild|3-r[1-6].ebuild'); do ls -l /usr/local/portage/www-client/palemoon/$i 
/some-dir/palemoon-overlay/www-client/palemoon/palemoon-27.0.3.ebuild  ; diff 
/usr/local/portage/www-client/palemoon/$i 
/some-dir/palemoon-overlay/www-client/palemoon/palemoon-27.0.3.ebuild  ; echo 
"--" ; echo ; done ;

( that's just one line, in case your mail client reformated it for you,
I'm running too slow with all of this, rushing a little, sorry, except
same excuse for below )

And that command line got me these:

-rw-r--r-- 1 miro miro 5907 2016-12-21 00:42 
/some-dir/palemoon-overlay/www-client/palemoon/palemoon-27.0.3.ebuild
-rw-r--r-- 1 miro miro 5907 2016-12-21 00:42 
/usr/local/portage/www-client/palemoon/palemoon-27.0.3.ebuild
--

-rw-r--r-- 1 miro miro 5907 2016-12-21 00:42 
/some-dir/palemoon-overlay/www-client/palemoon/palemoon-27.0.3.ebuild
-rw-r--r-- 1 miro miro 5956 2016-12-21 16:53 
/usr/local/portage/www-client/palemoon/palemoon-27.0.3-r1.ebuild
21c21
< EGIT_REPO_URI="git://github.com/MoonchildProductions/Pale-Moon.git 
https://localhost/cgi-bin/cgit.cgi/Pale-Moon.git";
---
> EGIT_REPO_URI="git://github.com/MoonchildProductions/Pale-Moon.git"
--

-rw-r--r-- 1 miro miro 5907 2016-12-21 00:42 
/some-dir/palemoon-overlay/www-client/palemoon/palemoon-27.0.3.ebuild
-rw-r--r-- 1 miro miro 6051 2016-12-21 17:15 
/usr/local/portage/www-client/palemoon/palemoon-27.0.3-r2.ebuild
21c21
< EGIT_REPO_URI="git://github.com/MoonchildProductions/Pale-Moon.git 
https://localhost/cgi-bin/cgit.cgi/Pale-Moon.git 
http://localhost/cgi-bin/cgit.cgi/Pale-Moon.git 
git://localhost/cgi-bin/cgit.cgi/Pale-Moon.git"
---
> EGIT_REPO_URI="git://github.com/MoonchildProductions/Pale-Moon.git"
--

-rw-r--r-- 1 miro miro 5907 2016-12-21 00:42 
/some-dir/palemoon-overlay/www-client/palemoon/palemoon-27.0.3.ebuild
-rw-r--r-- 1 miro miro 5999 2016-12-21 17:25 
/usr/local/portage/www-client/palemoon/palemoon-27.0.3-r3.ebuild
21c21
< EGIT_REPO_URI="https://localhost/cgi-bin/cgit.cgi/Pale-Moon.git 
http://localhost/cgi-bin/cgit.cgi/Pale-Moon.git 
git://localhost/cgi-bin/cgit.cgi/Pale-Moon.git"
---
> EGIT_REPO_URI="git://github.com/MoonchildProductions/Pale-Moon.git"
--

-rw-r--r-- 1 miro miro 5907 2016-12-21 00:42 
/some-dir/palemoon-overlay/www-client/palemoon/palemoon-27.0.3.ebuild
-rw-r--r-- 1 miro miro 5951 2016-12-21 21:26 
/usr/local/portage/www-client/palemoon/palemoon-27.0.3-r4.ebuild
21c21
< EGIT_REPO_URI="https://localhost/cgi-bin/cgit.cgi/Pale-Moon.git 
git://localhost/cgi-bin/cgit.cgi/Pale-Moon.git"
---
> EGIT_REPO_URI="git://github.com/MoonchildProductions/Pale-Moon.git"
--

-rw-r--r-- 1 miro miro 5907 2016-12-21 00:42 
/some-dir/palemoon-overlay/www-client/palemoon/palemoon-27.0.3.ebuild
-rw-r--r-- 1 miro miro 5902 2016-12-21 21:29 
/usr/local/portage/www-client/palemoon/palemoon-27.0.3-r5.ebuild
21c21
< EGIT_REPO_URI="git://localhost/cgi-bin/cgit.cgi/Pale-Moon.git"
---
> EGIT_REPO_URI="git://github.com/MoonchildProductions/Pale-Moon.git"
--

-rw-r--r-- 1 miro miro 5907 2016-12-21 00:42 
/some-dir/palemoon-overlay/www-client/palemoon/palemoon-27.0.3.ebuild
-rw-r--r-- 1 miro miro 5903 2016-12-21 21:44 
/usr/local/portage/www-client/palemoon/palemoon-27.0.3-r6.ebuild
21c21
< EGIT_REPO_URI="http://localhost/cgi-bin/cgit.cgi/Pale-Moon.git";
---
> EGIT_REPO_URI="git://github.com/MoonchildProductions/Pale-Moon.git"
--

The: https://localhost/cgi-bin/cgit.cgi/Pale-Moon.git would have probably also
worked, but it was refused because the cert is both self-signed and expired
;-) .

If the reader followed carefully, she/he will have noticed that only the
last one (palemoon-27.0.3-r6.ebuild) worked, and I actually started this
email with how that ebuild installed palemoon in my Air-Gapped machine.

If I show to have forgot any details (which I tried not to), I'll post them in
another reply to this thread.

( Ah, the cgit, maybe. It's just a regular cgit install, other than I
wasn't able to get the cgit, in many months now that I use it, so that
my apache would serve git listings and tar.gz's, tar.bz2's, and zip's,
with rewritten urls to get read of the cgi-bin/cgit.cgi string in every
url...

Otherwise, it's just

$ cd /where-I-keep-my-local-and-cloned-git-repos/Pale-Moon/
git clone --bare . /where-my-apache-serves-git-from/Pale-Moon.git/

and then

# /var/www/localhost/cgi-bin/cgit.cgi \
        --scan-tree=/where-my-apache-serves-git-from/ > cgit-repos

(and append that to /etc/cgit-repos)
)

I'm actually kind of almost disbelieving that this has happened, because the
naming appears as if it worked out by some luck, so unusual it is, with the
spaces in the filenames
(
e.g. just see the:

git3-src EGIT_MIRROR_URI=git:

name of the directory, first level underneath /usr/portage/distfiles/
).

It couldn't have been designed to be this kind of strange naming in the
very /usr/portage/distfiles/ , or could it?

Is this regular, or have I successfully installed by some chance?

Thanks if there will be any explanations and advice. And in the meantime, I
really enjoy using Pale Moon in my Gentoo, both master and, of course,
clone(s)!

Regards!

-- 
Miroslav Rovis
Zagreb, Croatia
http://www.CroatiaFidelis.hr

Attachment: signature.asc
Description: Digital signature

Reply via email to