synth
synth copied to clipboard
Issues with building editors/joe with ravenports-built synth
Trying to build joe or nano I get,
# synth just-build editors/joe
pkg-1.18.4.pkg failed option check.
Stand by, building pkg(8) first ... done!
Error opening terminal: xterm-256color.
# synth just-build editors/nano
pkg-1.18.4.pkg failed option check.
Stand by, building pkg(8) first ... done!
Error opening terminal: xterm-256color.
In reference to #204.
You aren't building inside a jail, right? nothing strange about your environment?
No, not inside a jail. Installing as root.
by the way, you don't still have ABI and ALTABI defined in environment do you? if so, clear that. You probably don't if you rebooted the machine though.
No, that was ephemeral. Not defined anymore.
do you have anything installed at /raven/share/misc/terminfo directory?
No. This is a brand new installation of Synth. joe is the first port I am trying to package.
# ll /raven/share/misc/terminfo
ls: /raven/share/misc/terminfo: No such file or directory
# ll /raven/share/misc/
ls: /raven/share/misc/: No such file or directory
# ll /raven/share/
total 10
drwxr-xr-x 3 root wheel 3 Oct 18 15:43 licenses/
drwxr-xr-x 3 root wheel 3 Oct 18 15:43 man/
drwxr-xr-x 2 root wheel 8 Oct 18 15:43 synth/
drwxr-xr-x 3 root wheel 3 Oct 18 15:43 zsh/
Again, many thanks for Synth!
# uname -a
FreeBSD fido.bx.gy 13.1-RELEASE-p2 FreeBSD 13.1-RELEASE-p2 GENERIC amd64
# env
TERM=xterm-256color
BLOCKSIZE=K
MAIL=/var/mail/root
MM_CHARSET=UTF-8
LANG=C.UTF-8
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin:/raven/bin
SHELL=/bin/csh
HOME=/root
USER=root
HOSTTYPE=FreeBSD
VENDOR=amd
OSTYPE=FreeBSD
MACHTYPE=x86_64
SHLVL=1
PWD=/root
LOGNAME=root
GROUP=wheel
HOST=fido
EDITOR=emacs
PAGER=less
No. This is a brand new installation of Synth. joe is the first port I am trying to package.
so that's a problem I think. The synth port probably needs curses listed as a run dependency.
try this:
/raven/sbin/ravensw install -y ncurses-primary-standard
Then try building joe again
ncurses-primary-standard builds and installs fine. Then Synth start building joe with no errors or warnings.
But I can't seem to find the joe binary. I assume is my deep ignorance of how synth (or poudriere) would work here?
# /raven/sbin/ravensw install -y ncurses-primary-standard
Warning: Major OS version upgrade detected. Running "pkg-static install -f pkg" recommended
Updating Raven repository catalog...
Raven repository is up to date.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
ncurses-primary-standard: 6.3_1
Number of packages to be installed: 1
The process will require 13 MiB more space.
3 MiB to be downloaded.
[1/1] Fetching ncurses-primary-standard-6.3_1.tzst: 1% 40960 B 41.0kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst: 3% 106496 B 65.5kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst: 5% 188416 B 81.9kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst: 9% 319488 B 131.1kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst: 16% 516096 B 196.6kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst: 24% 778240 B 262.1kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst: 34% 1122304 B 344.1kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst: 47% 1531904 B 409.6kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst: 62% 2007040 B 475.1kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst: 79% 2547712 B 540.7kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst: 97% 3137536 B 589.8kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst: 100% 3214792 B 292.3kB/s 00:11
Checking integrity... done (0 conflicting)
[1/1] Installing ncurses-primary-standard-6.3_1...
[1/1] Extracting ncurses-primary-standard-6.3_1: 100%
# synth just-build editors/joe
pkg-1.18.4.pkg failed option check.
Stand by, building pkg(8) first ... done!
The task is complete. Final tally:
Initial queue size: 4
packages built: 4
ignored: 0
skipped: 0
failed: 0
Duration: 00:00:48
The build logs can be found at: /var/log/synth
# rehash
# joe
joe: Command not found.
# ll /raven/bin
total 2439
lrwxr-xr-x 1 root wheel 3 Jun 18 18:46 captoinfo@ -> tic
-r-xr-xr-x 1 root wheel 11080 Jun 18 18:46 clear*
-r-xr-xr-x 1 root wheel 60576 Jun 18 18:46 infocmp*
lrwxr-xr-x 1 root wheel 3 Jun 18 18:46 infotocap@ -> tic
-r-xr-xr-x 1 root wheel 8499 Jun 18 18:46 ncurses6-config*
-r-xr-xr-x 1 root wheel 8503 Jun 18 18:46 ncursesw6-config*
lrwxr-xr-x 1 root wheel 4 Jun 18 18:46 reset@ -> tset
-r-xr-xr-x 1 root wheel 3515904 Sep 5 14:55 synth*
-r-xr-xr-x 1 root wheel 19384 Jun 18 18:46 tabs*
-r-xr-xr-x 1 root wheel 85416 Jun 18 18:46 tic*
-r-xr-xr-x 1 root wheel 19456 Jun 18 18:46 toe*
-r-xr-xr-x 1 root wheel 23616 Jun 18 18:46 tput*
-r-xr-xr-x 1 root wheel 23592 Jun 18 18:46 tset*
Trying with the install option,
# synth install editors/joe
pkg-1.18.4.pkg failed option check.
Stand by, building pkg(8) first ... done!
gmake-4.3_2.pkg failed option check.
gettext-runtime-0.21.pkg failed option check.
joe-4.6,1.pkg failed option check.
indexinfo-0.3.1.pkg failed option check.
The task is complete. Final tally:
Initial queue size: 4
packages built: 4
ignored: 0
skipped: 0
failed: 0
Duration: 00:00:44
The build logs can be found at: /var/log/synth
raised PORTSCAN.BUILDCYCLE.CYCLE_CMD_ERROR : cmd: /raven/sbin/pkg config repos_dir (return code = 127)
/raven/sbin/pkg does not exists in that directory:
# ll /raven/sbin/
total 4897
-r-xr-xr-x 1 root wheel 8385072 Jul 11 2020 ravensw*
This is problem:
pkg-1.18.4.pkg failed option check.
Stand by, building pkg(8) first ... done!
We'll have to look into that.
There's a conception problem though. All we are trying to do is install a working version of synth (which is located at /raven/bin/synth I think). Synth is going to build the freebsd ports, and it should work as before, meaning it eventually installs to /usr/local.
synth just-build only builds the package, so you would not expect joe to be present. However, synth install should probably have installed it (at /usr/local)
what happens if you copy /usr/local/sbin/pkg to /raven/sbin/pkg ? (for testing purposes only, you shouldn't have to do this). Also, can you find /raven/etc/synth.ini and post it here?
also post the /usr/local/etc/synth.ini so we can compare
what happens if you copy /usr/local/sbin/pkg to /raven/sbin/pkg
That fixes it, now I can run joe.
# cp /usr/local/sbin/pkg /raven/sbin/
# ll /raven/sbin/
total 6829
-rwxr-xr-x 1 root wheel 2966440 Oct 18 19:06 pkg*
-r-xr-xr-x 1 root wheel 8385072 Jul 11 2020 ravensw*
# synth install editors/joe
After inspection, it has been determined that there are no packages that
require rebuilding; the task is therefore complete.
Stand by, recursively scanning 1 port serially.
Packages validated, rebuilding local repository.
Local repository successfully rebuilt
Updating Synth repository catalogue...
Fetching meta.conf: 100% 163 B 0.2kB/s 00:01
Fetching packagesite.pkg: 100% 3 KiB 2.8kB/s 00:01
Processing entries: 100%
Synth repository update completed. 9 packages processed.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 1 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
joe: 4.6,1 [Synth]
Number of packages to be installed: 1
The process will require 2 MiB more space.
[1/1] Installing joe-4.6,1...
[1/1] Extracting joe-4.6,1: 100%
Building cache database of MIME types
# which joe
/usr/local/bin/joe
/raven/etc/synth.ini and /usr/local/etc/synth.ini do not seem to exist on my system,
# cat /raven/etc/synth.ini
cat: /raven/etc/synth.ini: No such file or directory
# cat /usr/local/etc/synth.ini
cat: /usr/local/etc/synth.ini: No such file or directory
PS: I need to run out for errands now. I will be back later.
okay, so here's what I need to do for sure.
- add ncurses as a run dependency
- add freebsd-pkg port, and add that as a run dependency
I checked the man page, the file is located in a subdirectory, e.g.
- /usr/local/etc/synth/synth.ini
- /raven/etc/synth/synth.ini
But I think the main issue was synth couldn't find the host pkg program because it assumed it was at /raven/sbin/pkg.
an easier fix is just have synth install a symlink of /usr/local/sbin/pkg to /raven/sbin/pkg. That way I don't have to build pkg and keep it up to date.
I've already updated ravenports synth with these fixes: https://github.com/Ravenports/ravensource/commit/46118dc7a524be05048d742ca5dfa7538fffa194
It will be a while before it's published though.
I checked the man page, the file is located in a subdirectory, e.g. * /usr/local/etc/synth/synth.ini * /raven/etc/synth/synth.ini
# cat /raven/etc/synth/synth.ini
; This Synth configuration file is automatically generated
; Take care when hand editing!
[Global Configuration]
profile_selected= LiveSystem
[LiveSystem]
Operating_system= FreeBSD
Directory_packages= /var/synth/live_packages
Directory_repository= /var/synth/live_packages/All
Directory_portsdir= /usr/ports
Directory_options= /var/db/ports
Directory_distfiles= /usr/ports/distfiles
Directory_buildbase= /usr/obj/synth-live
Directory_logs= /var/log/synth
Directory_ccache= disabled
Directory_system= /
Number_of_builders= 12
Max_jobs_per_builder= 5
Tmpfs_workdir= true
Tmpfs_localbase= true
Display_with_ncurses= true
leverage_prebuilt= false
It seems there is no other synth.ini anywhere on my system:
# cat /usr/local/etc/synth/synth.ini
cat: /usr/local/etc/synth/synth.ini: No such file or directory
fd -i synth.ini
raven/etc/synth/synth.ini
I've already updated ravenports synth with these fixes: https://github.com/Ravenports/ravensource/commit/46118dc7a524be05048d742ca5dfa7538fffa194
Thank you.
to follow up, I've updated the freebsd repository so hopefully synth pulls in curses and installs a symlink to freebsd's pkg now, making the wiki instructions work as intended.
Thank you. If it makes sense, I would like to go through the process once more, possibly submitting some clarification in the wiki page directions.
I would need to:
- Uninstall any package installed via synth, in this case, just
joe - Uninstall
synthvia/raven/sbin/ravensw - Uninstall
ravenswitself. - Redo all the steps one more time.
Would you advice on how to perform the first 3 steps cleanly?
Just so you know, any time I run ravensw I get warning, Warning: Major OS version upgrade detected. Running "pkg-static install -f pkg" recommended
Would this be correct?
- Uninstall any package installed via synth, in this case, just
joe
# pkg remove joe
Question: how would one uninstall all packages coming from one specific repository?
- Uninstall
synthvia/raven/sbin/ravensw
# /raven/sbin/ravensw remove synth-single-standard
- Uninstall
ravenswitself.
rm -rf /raven
rm -rf /var/db/ravensw
rm -rf /var/ravenports
The last 3 rm -rf commands should completely remove everything. You don't need to do anything else.
Regarding pkg-static message, if you still get it after reinstalling synth, your /use/local/sbin/pkg needs updating
On Sat, Oct 29, 2022, 02:47 Lisp student @.***> wrote:
Would this be correct?
- Uninstall any package installed via synth, in this case, just joe
pkg remove joe
Question: how would one uninstall all packages coming from one specific repository?
- Uninstall synth via /raven/sbin/ravensw
/raven/sbin/ravensw remove synth-single-standard
- Uninstall ravensw itself.
rm -rf /raven rm -rf /var/db/ravensw rm -rf /var/ravenports
— Reply to this email directly, view it on GitHub https://github.com/jrmarino/synth/issues/210#issuecomment-1295762269, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAISZ5QYT47RBNUAE6HHCR3WFTJBTANCNFSM6AAAAAARIHRYXQ . You are receiving this because you commented.Message ID: @.***>
But If I would just apply the 3 rm, wouldn't the joe package, installed via synth ports, still be in the system but no more upgreadable (repo would be gone)?
In any case, I did the three steps above, including the 3 rm, but I could still see the synth repository being referenced by pkg.
To fix that, I also did:
rm -rf /usr/local/etc/synth
rm /usr/local/etc/pkg/repos/00_synth.conf
Now I am going to replicate the ravensw + synth setup and report back.
The /usr/local/ files are coming from the freebsd ports tree, I guess
On Sat, Oct 29, 2022, 07:41 Lisp student @.***> wrote:
But If I would just apply the 3 rm, wouldn't the joe package, installed via synth ports, still be in the system but no more upgreadable (repo would be gone)?
In any case, I did the three steps above, including the 3 rm, but I could still see the synth repository being referenced by pkg.
To fix that, I also did:
rm -rf /usr/local/etc/synth` rm /usr/local/etc/pkg/repos/00_synth.conf
Now I am going to replicate the ravensw + synth setup and report back.
— Reply to this email directly, view it on GitHub https://github.com/jrmarino/synth/issues/210#issuecomment-1295825575, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAISZ5XYNHESUMPE4LIBEETWFULOBANCNFSM6AAAAAARIHRYXQ . You are receiving this because you commented.Message ID: @.***>
Everything works with no hiccups now:
fetch http://www.ravenports.com/repository/ravensw-freebsd64-bootstrap.tar.gz
tar -C / -xzf ravensw-freebsd64-bootstrap.tar.gz
nano /raven/etc/ravensw.conf
/raven/sbin/ravensw upgrade
/raven/sbin/ravensw install -y synth-single-standard
synth just-build editors/joe
synth install editors/joe
Interestingly, when I ran synth just-build editors/joe I got:
After inspection, it has been determined that there are no packages that
require rebuilding; the task is therefore complete.
It seems synth did not need to rebuild joe, but how could that be? I thought I had completely removed the whole ravensw+synth+related files?
The only possible tweak I could suggest to the wiki page is to specify to edit /raven/etc/ravensw.conf after installing ravensw:
tar -C / -xzf ravensw-freebsd64-bootstrap.tar.gz
nano /raven/etc/ravensw.conf
If it doesn't need building, the profile's packages are still present.
On Sat, Oct 29, 2022, 07:52 Lisp student @.***> wrote:
Everything works with no hiccups now:
fetch http://www.ravenports.com/repository/ravensw-freebsd64-bootstrap.tar.gz tar -C / -xzf ravensw-freebsd64-bootstrap.tar.gz nano /raven/etc/ravensw.conf /raven/sbin/ravensw upgrade /raven/sbin/ravensw install -y synth-single-standard synth just-build editors/joe synth install editors/joe
Interestingly, when I ran synth just-build editors/joe I got:
After inspection, it has been determined that there are no packages that require rebuilding; the task is therefore complete.
It seems synth did not need to rebuild joe, but how could that be? I thought I had completely removed the whole ravensw+synth+related files?
The only possible tweak I could suggest to the wiki page is to specify to edit /raven/etc/ravensw.conf after installing ravensw:
tar -C / -xzf ravensw-freebsd64-bootstrap.tar.gz nano /raven/etc/ravensw.conf
— Reply to this email directly, view it on GitHub https://github.com/jrmarino/synth/issues/210#issuecomment-1295828178, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAISZ5QNKZEDMGZNKOSTLQLWFUMZVANCNFSM6AAAAAARIHRYXQ . You are receiving this because you commented.Message ID: @.***>
"synth configure" will show you where the profile packages are located.
And "synth test joe" will force a build I think
On Sat, Oct 29, 2022, 08:07 John Marino (Github) @.***> wrote:
If it doesn't need building, the profile's packages are still present.
On Sat, Oct 29, 2022, 07:52 Lisp student @.***> wrote:
Everything works with no hiccups now:
fetch http://www.ravenports.com/repository/ravensw-freebsd64-bootstrap.tar.gz tar -C / -xzf ravensw-freebsd64-bootstrap.tar.gz nano /raven/etc/ravensw.conf /raven/sbin/ravensw upgrade /raven/sbin/ravensw install -y synth-single-standard synth just-build editors/joe synth install editors/joe
Interestingly, when I ran synth just-build editors/joe I got:
After inspection, it has been determined that there are no packages that require rebuilding; the task is therefore complete.
It seems synth did not need to rebuild joe, but how could that be? I thought I had completely removed the whole ravensw+synth+related files?
The only possible tweak I could suggest to the wiki page is to specify to edit /raven/etc/ravensw.conf after installing ravensw:
tar -C / -xzf ravensw-freebsd64-bootstrap.tar.gz nano /raven/etc/ravensw.conf
— Reply to this email directly, view it on GitHub https://github.com/jrmarino/synth/issues/210#issuecomment-1295828178, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAISZ5QNKZEDMGZNKOSTLQLWFUMZVANCNFSM6AAAAAARIHRYXQ . You are receiving this because you commented.Message ID: @.***>
Ah, all clear now. There were leftover directories:
Synth configuration profile: LiveSystem
===============================================================================
[A] Ports directory /usr/ports
[B] Packages directory /var/synth/live_packages
[C] Distfiles directory /usr/ports/distfiles
[D] Port options directory /var/db/ports
[E] Build logs directory /var/log/synth
[F] Build base directory /usr/obj/synth-live
[G] System root directory /
[H] Compiler cache directory disabled
[I] Num. concurrent builders 12
[J] Max. jobs per builder 5
[K] Use tmpfs for work area true
[L] Use tmpfs for localbase true
[M] Display using ncurses true
[N] Fetch prebuilt packages false
[>] Switch/create profiles
[RET] Exit
Thank you for the patience and guidance.