Tooling Integration and Developer Experience

2023-01-29 Thread User Ngor

On 1/30/23 02:54, Julian H. Stacey wrote:
> Jamie Landeg-Jones wrote:
>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=261657 is a 
trivial fix

>> to an admittedly trivial issue, but it's soon going to hit one year old,
>> and has not had any feedback. Not even "this is rubbish. close ticket"
>>
>> | jamie@catwalk:~ % stat 'so good they named it twice'
>> | stat: so good they named it twice: stat: No such file or directory
>>
>> As such, it's the oldest of my patches to be completely ignored, but 
then,

>> most of my fixes I haven't even submitted, because, what's the point?
>> I've instead spent time writing something so the patches are 
automatically

>> aplied to my src tree, and distributed to all my servers.

Forked from: 1 year src-patch anniversary.

I feel Jamie's pain,  this kind of experience can be very discouraging 
to any

contributor without commit bit.

All developers like quick feedback loops. Nobody wants to wait a year. I 
think

FreeBSD project looses a lot of potential contributors due to issues of this
kind. I don't believe there is any ill intent, there is no elite cast of 
grumpy
commit-bit holders who only work on what they are interested in, 
ignoring the

project as a whole. Far from it.

But I do hope that the situation can be improved and I want to offer my 
view and opinion.


The Problem
---

I do believe that the source of all problems is lack of integration in 
tooling

and communication. Let me elaborate: FreeBSD project has a lot of tools, but
the tools are not well integrated together:

- There are too many places where a patch can be posted: phabricator, 
github,

  bugzilla, mailing list.

- There are too many places to have a conversation: mailing lists, 
phabricator

  reviews, bugzilla comments, github issues and PRs, forum, multiple IRC
  channels spanning multiple IRC servers, etc.

- A posted patch is cat in the bag, there is no pre-commit CI to do some 
basic
  sanity-checking, commit-bit holders need to do a lot of work to 
verify the commit

  (run CI on it)

- Tools are not integrated. There is no information flow between them, no
  effective cross-referencing, lookup or discover, etc.

  - Bugs in Bugzilla are not visible in Phabricator.
  - Commits in Phabricator do not resolve bugs in Bugzilla
  - Jenkins CI/CD and Phabricator don't know about each other.

... there are probably more examples, but this is enough to draw a few 
conclusions:



1. Information is fragmented and is easily lost or forgotten.
2. It takes manual human effort to update information in multiple systems.
3. Human attention (developers, contributors, etc.) to different systems 
is spread

   unequally.

This leads to poor developer experience, regardless of commit-bit 
status. A patch posted
in bugzilla went unnoticed for a year until frustrated and desperate 
contributor started

complaining about it in the mailing list, and was committed hours later.

The is also a lack of designated maintainers (I am drawing the analogy from
Linux kernel) A role who's job is to integrate: collect all patches, 
feedback,
reports about a specific area (kernel subsystem, userland tool or 
whatnot), and

update/curate the knowledge and communication around this area.

In my 15+ year career in IT I've seen multiple projects fail due to
communication and integration issues. Without concentrated effort and strong
leadership these problems rarely go away on their own.

Proposed Solutions
--
In the order of implementation:

1. Tooling integration:

   This can be as easy as moving everything into Phabricator.
   Phabricator, apart from features that we already use, has support 
for CI/CD,

   bug reports, wiki, project planning and milestones, chat, etc.

   Alternative platforms can be used as well: GitLab, SourceHut

   The main idea: to prevent information fragmentation and improve
   discoverability, cross-referencing abilities, search, etc.

   The challenge: is inertia and migration of existing information out
   of currently used tools.

   The sentiment: we don't need more tools, we need fewer tools that work
   better together.

2. Growing the community:

   Integrated tooling improves productivity and allows focusing on 
quickening
   the feedback loop: accepting/rejecting/commenting one-off 
contributions faster.
   Regular contributors will be more visible and will get commit-bit 
faster.
   With enough commit-bit holders focused maintainership practice can 
be started.



In the end this is just my opinion, I hope it will spark some conversation.

Thanks for reading this far :)

--
Ihor Antonov




Re: 1 year src-patch anniversary!

2023-01-29 Thread Julian H. Stacey
Jamie Landeg-Jones wrote:
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=261657 is a trivial fix
> to an admittedly trivial issue, but it's soon going to hit one year old,
> and has not had any feedback. Not even "this is rubbish. close ticket"
>
> | jamie@catwalk:~ % stat 'so good they named it twice'
> | stat: so good they named it twice: stat: No such file or directory
>
> As such, it's the oldest of my patches to be completely ignored, but then,
> most of my fixes I haven't even submitted, because, what's the point?
> I've instead spent time writing something so the patches are automatically
> aplied to my src tree, and distributed to all my servers.

I wrote a tool in 1993 I still use
http://www.berklix.com/~jhs/bin/.csh/customise
to apply trees of generic & personal diffs to src & ports, for multi releases
http://www.berklix.com/~jhs/src/
to apply diffs, where some are submitted, some committed
for some versions, some diffs still needed for older versions, &
some not submitted or committed.

I guess many, especially non-commiters, maintain trees of uncommited
diffs & there's probably other applicator scripts, numerous
re-inventing of wheels for decades, 'cos send-pr /
https://bugs.freebsd.org/bugzilla/enter_bug.cgi & volunteer unpaid
commiters can't keep up with submissions.

& non committers can't afford to wait months or years, remembering
what's been seen commited to Release X.Y & what still needs to be
kept to apply to other inc. older releases.  Probably lots of
re-invented wheels: trees of diffs & applicator scripts, but to
different standards, not uniformly exportable, not immediately
familiar to & usable by others.

While retaining the model of "This generic src/ ports/ doc/ tree
has been built from patches blessed by commiters as fit for all"

FreeBSD hackers(especially non commiters who must wait for commits
to reduce their heap of candidate diffs) would benefit from a unified
set of tools & directory formats to allow individuals to maintain
& export trees of candidate diffs etc to some common standards.

It wouldnt obviate / replace send-pr &
https://bugs.freebsd.org/bugzilla/enter_bug.cgi & git etc, but would
be an optional normalied convenience, especially beneficial to those
who are Not commiters but who have growing heaps of uncommited patches.

Maybe a summer of code or other person might look at Jamie's & my
applicator scripts, & diff tree shapes, not for our actual current diffs,
but to design common unified standards to export trees of candidate diffs
that can be applied by one common applicator tool ?

Hacker who are not committers presumably accumulate an an ever
growing heap of diffs, a burden best normalised & automated.

> I know it's a volunteer effort, but I've been here 25 years, and whilst
> I could (and should) take on more port-maintainership, any other offers
> of help have fallen on deaf ears.
>
> *shrug* I miss Mark Linimon.

Cheers,
-- 
Julian Stacey  http://StolenVotes.UK/jhs/  Arm Ukraine,  Zap Putin.



Re: 1 year src-patch anniversary!

2023-01-29 Thread Mateusz Guzik
On 1/29/23, Mateusz Guzik  wrote:
> On 1/29/23, Jamie Landeg-Jones  wrote:
>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=261657 is a trivial fix
>> to an admittedly trivial issue, but it's soon going to hit one year old,
>> and has not had any feedback. Not even "this is rubbish. close ticket"
>>
>> | jamie@catwalk:~ % stat 'so good they named it twice'
>> | stat: so good they named it twice: stat: No such file or directory
>>
>> As such, it's the oldest of my patches to be completely ignored, but
>> then,
>> most of my fixes I haven't even submitted, because, what's the point?
>> I've instead spent time writing something so the patches are
>> automatically
>> aplied to my src tree, and distributed to all my servers.
>>
>> I know it's a volunteer effort, but I've been here 25 years, and whilst
>> I could (and should) take on more port-maintainership, any other offers
>> of help have fallen on deaf ears.
>>
>
> Well I was not aware of it.
>
> mail me with git format-patch result and I'll commit.
>

also make sure the commit message starts with: stat:

-- 
Mateusz Guzik 



Re: 1 year src-patch anniversary!

2023-01-29 Thread Mateusz Guzik
On 1/29/23, Jamie Landeg-Jones  wrote:
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=261657 is a trivial fix
> to an admittedly trivial issue, but it's soon going to hit one year old,
> and has not had any feedback. Not even "this is rubbish. close ticket"
>
> | jamie@catwalk:~ % stat 'so good they named it twice'
> | stat: so good they named it twice: stat: No such file or directory
>
> As such, it's the oldest of my patches to be completely ignored, but then,
> most of my fixes I haven't even submitted, because, what's the point?
> I've instead spent time writing something so the patches are automatically
> aplied to my src tree, and distributed to all my servers.
>
> I know it's a volunteer effort, but I've been here 25 years, and whilst
> I could (and should) take on more port-maintainership, any other offers
> of help have fallen on deaf ears.
>

Well I was not aware of it.

mail me with git format-patch result and I'll commit.

-- 
Mateusz Guzik 



1 year src-patch anniversary!

2023-01-29 Thread Jamie Landeg-Jones
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=261657 is a trivial fix
to an admittedly trivial issue, but it's soon going to hit one year old,
and has not had any feedback. Not even "this is rubbish. close ticket"

| jamie@catwalk:~ % stat 'so good they named it twice'
| stat: so good they named it twice: stat: No such file or directory

As such, it's the oldest of my patches to be completely ignored, but then,
most of my fixes I haven't even submitted, because, what's the point?
I've instead spent time writing something so the patches are automatically
aplied to my src tree, and distributed to all my servers.

I know it's a volunteer effort, but I've been here 25 years, and whilst
I could (and should) take on more port-maintainership, any other offers
of help have fallen on deaf ears.

*shrug* I miss Mark Linimon.




Re: vt and keyboard accents

2023-01-29 Thread Yuri
Hans Petter Selasky wrote:
> On 1/29/23 09:48, Yuri wrote:
>> Hans Petter Selasky wrote:
>>> On 1/29/23 01:54, Yuri wrote:
 Looking into an issue with accents input for vt and cz (so
 /usr/share/vt/keymaps/cz.kbd) keyboard where some of the accents are
 working and other result weird unrelated characters output.

 Checking kbdcontrol -d output, there is an obvious difference with
 keymap contents -- all mappings are trimmed down to 1 byte after
 reading:

 kbdcontrol:
     dacu  180  ( 180 180 ) ( 'S' 'Z' ) ( 'Z' 'y' ) ( 's' '[' )
    ( 'z' 'z' ) ( 'R' 'T' ) ( 'A' 193 ) ( 'L' '9' )
    ( 'C' 006 ) ( 'E' 201 ) ( 'I' 205 ) ( 'N' 'C' )
    ( 'O' 211 ) ( 'U' 218 ) ( 'Y' 221 ) ( 'r' 'U' )
    ( 'a' 225 ) ( 'l' ':' ) ( 'c' 007 ) ( 'e' 233 )
    ( 'i' 237 ) ( 'n' 'D' ) ( 'o' 243 ) ( 'u' 250 )
    ( 'y' 253 )

 keymap:
     dacu 0xb4    ( 0xb4   0xb4    ) ( 'S'    0x015a  ) ( 'Z'   
 0x0179  )
 ( 's'    0x015b  )
  ( 'z'    0x017a  ) ( 'R'    0x0154  ) ( 'A'   
 0xc1    )
 ( 'L'    0x0139  )
  ( 'C'    0x0106  ) ( 'E'    0xc9    ) ( 'I'   
 0xcd    )
 ( 'N'    0x0143  )
  ( 'O'    0xd3    ) ( 'U'    0xda    ) ( 'Y'   
 0xdd    )
 ( 'r'    0x0155  )
  ( 'a'    0xe1    ) ( 'l'    0x013a  ) ( 'c'   
 0x0107  )
 ( 'e'    0xe9    )
  ( 'i'    0xed    ) ( 'n'    0x0144  ) ( 'o'   
 0xf3    )
 ( 'u'    0xfa    )
  ( 'y'    0xfd    )

 Source of the problem is the following definition in sys/sys/kbio.h:

 struct acc_t {
   u_char  accchar;
   u_char  map[NUM_ACCENTCHARS][2];
 };

 While the keymaps were converted to have the unicode characters for vt
 in the commit below, the array to store them (map) was missed, or was
 there a reason for this?

 ---
 commit 7ba08f814546ece02e0193edc12cf6eb4d5cb8d4
 Author: Stefan Eßer 
 Date:   Sun Aug 17 19:54:21 2014 +

   Attempt at converting the SYSCONS keymaps to Unicode for use with
 NEWCONS.
   I have spent many hours comparing source and destination formats,
 and hope
   to have caught the most severe conversion errors.
 ---

 I have tried the following patch and it allows me to enter all accents
 documented in the keymap, though I must admit I'm not sure it does not
 have hidden issues:

 diff --git a/sys/sys/kbio.h b/sys/sys/kbio.h
 index 7f17bda76c5..fffeb63e226 100644
 --- a/sys/sys/kbio.h
 +++ b/sys/sys/kbio.h
 @@ -200,7 +200,7 @@ typedef struct okeymap okeymap_t;

    struct acc_t {
   u_char  accchar;
 -   u_char  map[NUM_ACCENTCHARS][2];
 +   int map[NUM_ACCENTCHARS][2];
    };

>>>
>>> Hi,
>>>
>>> Using "int" for unicode characters is probably good for now. Your patch
>>> looks good, but please also consider the "umlaut" case while at it
>>> (multiple characters that become one)!
>>
>> I think umlauts are already part of "accents" (duml keyword), e.g. in
>> cz.kbd:
>>
>>    duml 0xa8    ( 0xa8   0xa8    ) ( 'A'    0xc4    ) ( 'E'    0xcb    )
>> ( 'O'    0xd6    )
>>     ( 'U'    0xdc    ) ( 'a'    0xe4    ) ( 'e'    0xeb    )
>> ( 'o'    0xf6    )
>>     ( 'u'    0xfc    )
>>
>> So pressing Alt+Shift and "=/+" key, and then pressing one of AEOUaeou
>> keys would produce ÄËÖÜäëöü, respectively, and it currently works as all
>> of the ÄËÖÜäëöü characters can be written as single-byte unicode.
>>
>> And the following dcar (that is, "caron") characters are all broken as
>> they need at least 2 bytes, pressing Shift and "=/+" key, and any of the
>> LSTZlstzCEDNRcednrUu would print nothing at all, produce garbage, or
>> print some control character (last byte only):
>>
>>    dcar 0x02c7  ( 0x02c7 0x02c7  ) ( 'L'    0x013d  ) ( 'S'    0x0160  )
>> ( 'T'    0x0164  )
>>     ( 'Z'    0x017d  ) ( 'l'    0x013e  ) ( 's'    0x0161  )
>> ( 't'    0x0165  )
>>     ( 'z'    0x017e  ) ( 'C'    0x010c  ) ( 'E'    0x011a  )
>> ( 'D'    0x010e  )
>>     ( 'N'    0x0147  ) ( 'R'    0x0158  ) ( 'c'    0x010d  )
>> ( 'e'    0x011b  )
>>     ( 'd'    0x010f  ) ( 'n'    0x0148  ) ( 'r'    0x0159  )
>> ( 'U'    0x016e  )
>>     ( 'u'    0x016f  )
> 
> Hi Yuri,
> 
> Do you happen to know if we currently support these Norwegian-only umlauts?
> 
> For example written as "umlauts":
> 
> å b̊ c̊
> 
> Only the single-characters å and Å are of interest in the Norwegian
> language.

Looking at the share/vt/keymaps/no.kbd we don't, but if I understood you
correctly and only å/Å are required, it should be easy to add:

diff --git a/share/vt/keymaps/no.kbd 

Re: buildworld failed after deleting /usr/obj

2023-01-29 Thread qroxana


--- Original Message ---
On Monday, January 23rd, 2023 at 1:44 PM, qroxana  
wrote:


> --- Original Message ---
> On Monday, January 23rd, 2023 at 10:02 AM, Dimitry Andric d...@freebsd.org 
> wrote:
> 
> 
> 
> > On 23 Jan 2023, at 04:05, qroxana qrox...@protonmail.com wrote:
> > 
> > > It seems ${MAKEOBJDIR} was not created for usr.bin/clang/llvm-objcopy.
> > > 
> > > --- all_subdir_usr.bin ---
> > > --- objwarn ---
> > > Warning: Object directory not changed from original 
> > > /usr/src/usr.bin/clang/llvm-objcopy
> > 
> > This is usually an indication that your source directory contains object
> > files, e.g. is "dirty". Run "make clean" from the top level, or clean up
> > your source checkout with something like "git clean".
> > 
> > -Dimitry
> 
> 
> I had tried it with a clean source directory and empty /usr/obj
> 
> # find /usr/src/usr.bin/clang/llvm-objcopy
> /usr/src/usr.bin/clang/llvm-objcopy
> /usr/src/usr.bin/clang/llvm-objcopy/llvm-objcopy.1
> /usr/src/usr.bin/clang/llvm-objcopy/Makefile
> 
> and "make buildworld" still ended with the same error.
> 
> In /usr/src/Makefile.inc1, the _NO_INCLUDE_COMPILERMK=t option prevents 
> creating
> the obj directories for the stuff in usr.bin/clang/.
> 
> 1098 _obj:
> 1099 @echo
> 1100 @echo "--"
> 1101 @echo ">>> stage 2.2: rebuilding the object tree"
> 
> 1102 @echo "--"
> 1103 ${+}cd ${.CURDIR}; ${WMAKE} _NO_INCLUDE_COMPILERMK=t obj
> 
> > --- all_subdir_usr.bin ---
> > --- objwarn ---
> > Warning: Object directory not changed from original 
> > /usr/src/usr.bin/clang/llvm-objcopy
> 
> 
> This happens in stage 4.4, and there's no ${MAKEOBJDIR} directory created
> for usr.bin/clang/llvm-objcopy
> 

It appears buildworld doesn't create the obj directory for 
usr.bin/clang/llvm-objcopy in stage 2.2 after this commit.

commit adc3c128c6603054586a993d117e5dd808deac17
Author: John Baldwin 
AuthorDate: Fri Nov 18 20:12:28 2022 -0800
Commit: John Baldwin 
CommitDate: Fri Nov 18 20:12:28 2022 -0800

src.opts.mk: Require C++20 for C++ support.

libc++ requires C++20, so mark C++ (MK_CXX) as broken if the compiler
does not support C++20.

Reviewed by:emaste
Differential Revision:  https://reviews.freebsd.org/D36893

diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk
index f69208f21556..5089a034350d 100644
--- a/share/mk/src.opts.mk
+++ b/share/mk/src.opts.mk
@@ -348,6 +348,11 @@ __DEFAULT_YES_OPTIONS+=OPENMP
 __DEFAULT_NO_OPTIONS+=OPENMP
 .endif
 
+# libc++ requires C++20
+.if !${COMPILER_FEATURES:Mc++20}
+BROKEN_OPTIONS+=CXX
+.endif
+
 .include 
 
 #




Re: vt and keyboard accents

2023-01-29 Thread Hans Petter Selasky

On 1/29/23 09:48, Yuri wrote:

Hans Petter Selasky wrote:

On 1/29/23 01:54, Yuri wrote:

Looking into an issue with accents input for vt and cz (so
/usr/share/vt/keymaps/cz.kbd) keyboard where some of the accents are
working and other result weird unrelated characters output.

Checking kbdcontrol -d output, there is an obvious difference with
keymap contents -- all mappings are trimmed down to 1 byte after reading:

kbdcontrol:
    dacu  180  ( 180 180 ) ( 'S' 'Z' ) ( 'Z' 'y' ) ( 's' '[' )
   ( 'z' 'z' ) ( 'R' 'T' ) ( 'A' 193 ) ( 'L' '9' )
   ( 'C' 006 ) ( 'E' 201 ) ( 'I' 205 ) ( 'N' 'C' )
   ( 'O' 211 ) ( 'U' 218 ) ( 'Y' 221 ) ( 'r' 'U' )
   ( 'a' 225 ) ( 'l' ':' ) ( 'c' 007 ) ( 'e' 233 )
   ( 'i' 237 ) ( 'n' 'D' ) ( 'o' 243 ) ( 'u' 250 )
   ( 'y' 253 )

keymap:
    dacu 0xb4    ( 0xb4   0xb4    ) ( 'S'    0x015a  ) ( 'Z'    0x0179  )
( 's'    0x015b  )
     ( 'z'    0x017a  ) ( 'R'    0x0154  ) ( 'A'    0xc1    )
( 'L'    0x0139  )
     ( 'C'    0x0106  ) ( 'E'    0xc9    ) ( 'I'    0xcd    )
( 'N'    0x0143  )
     ( 'O'    0xd3    ) ( 'U'    0xda    ) ( 'Y'    0xdd    )
( 'r'    0x0155  )
     ( 'a'    0xe1    ) ( 'l'    0x013a  ) ( 'c'    0x0107  )
( 'e'    0xe9    )
     ( 'i'    0xed    ) ( 'n'    0x0144  ) ( 'o'    0xf3    )
( 'u'    0xfa    )
     ( 'y'    0xfd    )

Source of the problem is the following definition in sys/sys/kbio.h:

struct acc_t {
  u_char  accchar;
  u_char  map[NUM_ACCENTCHARS][2];
};

While the keymaps were converted to have the unicode characters for vt
in the commit below, the array to store them (map) was missed, or was
there a reason for this?

---
commit 7ba08f814546ece02e0193edc12cf6eb4d5cb8d4
Author: Stefan Eßer 
Date:   Sun Aug 17 19:54:21 2014 +

  Attempt at converting the SYSCONS keymaps to Unicode for use with
NEWCONS.
  I have spent many hours comparing source and destination formats,
and hope
  to have caught the most severe conversion errors.
---

I have tried the following patch and it allows me to enter all accents
documented in the keymap, though I must admit I'm not sure it does not
have hidden issues:

diff --git a/sys/sys/kbio.h b/sys/sys/kbio.h
index 7f17bda76c5..fffeb63e226 100644
--- a/sys/sys/kbio.h
+++ b/sys/sys/kbio.h
@@ -200,7 +200,7 @@ typedef struct okeymap okeymap_t;

   struct acc_t {
  u_char  accchar;
-   u_char  map[NUM_ACCENTCHARS][2];
+   int map[NUM_ACCENTCHARS][2];
   };



Hi,

Using "int" for unicode characters is probably good for now. Your patch
looks good, but please also consider the "umlaut" case while at it
(multiple characters that become one)!


I think umlauts are already part of "accents" (duml keyword), e.g. in
cz.kbd:

   duml 0xa8( 0xa8   0xa8) ( 'A'0xc4) ( 'E'0xcb)
( 'O'0xd6)
( 'U'0xdc) ( 'a'0xe4) ( 'e'0xeb)
( 'o'0xf6)
( 'u'0xfc)

So pressing Alt+Shift and "=/+" key, and then pressing one of AEOUaeou
keys would produce ÄËÖÜäëöü, respectively, and it currently works as all
of the ÄËÖÜäëöü characters can be written as single-byte unicode.

And the following dcar (that is, "caron") characters are all broken as
they need at least 2 bytes, pressing Shift and "=/+" key, and any of the
LSTZlstzCEDNRcednrUu would print nothing at all, produce garbage, or
print some control character (last byte only):

   dcar 0x02c7  ( 0x02c7 0x02c7  ) ( 'L'0x013d  ) ( 'S'0x0160  )
( 'T'0x0164  )
( 'Z'0x017d  ) ( 'l'0x013e  ) ( 's'0x0161  )
( 't'0x0165  )
( 'z'0x017e  ) ( 'C'0x010c  ) ( 'E'0x011a  )
( 'D'0x010e  )
( 'N'0x0147  ) ( 'R'0x0158  ) ( 'c'0x010d  )
( 'e'0x011b  )
( 'd'0x010f  ) ( 'n'0x0148  ) ( 'r'0x0159  )
( 'U'0x016e  )
( 'u'0x016f  )


Hi Yuri,

Do you happen to know if we currently support these Norwegian-only umlauts?

For example written as "umlauts":

å b̊ c̊

Only the single-characters å and Å are of interest in the Norwegian 
language.


--HPS



Re: poudriere jail -u: install: …: No such file or directory (was: install: wdatwd.4.gz: No such file or directory)

2023-01-29 Thread Graham Perrin

On 18/01/2023 07:49, Graham Perrin wrote:

…
install -N /usr/src/etc  -o root -g wheel -m 444 ERR_put_error.3.gz 
 /usr/local/poudriere/jails/main/usr/share/openssl/man/man3/

--- realinstall_subdir_sbin ---
install: mntopts.3.gz: No such file or directory
--- realinstall_subdir_secure ---

make[3]: stopped in /usr/src
--- realinstall_subdir_sbin ---

make[3]: stopped in /usr/src

make[2]: stopped in /usr/src
 166.55 real    56.12 user    25.21 sys
*** [installworld] Error code 2

make[1]: stopped in /usr/src
1 error

make[1]: stopped in /usr/src

make: stopped in /usr/src
[00:03:38] Error:Failed to 'make installworld'
root@mowa219-gjp4-8570p-freebsd:~ # 


I realised the cause of the main (CURRENT) jail failing to update from 
/usr/src:


WITHOUT_MANCOMPRESS= in /etc/src.conf



OpenPGP_signature
Description: OpenPGP digital signature


Re: vt and keyboard accents

2023-01-29 Thread Yuri
Hans Petter Selasky wrote:
> On 1/29/23 01:54, Yuri wrote:
>> Looking into an issue with accents input for vt and cz (so
>> /usr/share/vt/keymaps/cz.kbd) keyboard where some of the accents are
>> working and other result weird unrelated characters output.
>>
>> Checking kbdcontrol -d output, there is an obvious difference with
>> keymap contents -- all mappings are trimmed down to 1 byte after reading:
>>
>> kbdcontrol:
>>    dacu  180  ( 180 180 ) ( 'S' 'Z' ) ( 'Z' 'y' ) ( 's' '[' )
>>   ( 'z' 'z' ) ( 'R' 'T' ) ( 'A' 193 ) ( 'L' '9' )
>>   ( 'C' 006 ) ( 'E' 201 ) ( 'I' 205 ) ( 'N' 'C' )
>>   ( 'O' 211 ) ( 'U' 218 ) ( 'Y' 221 ) ( 'r' 'U' )
>>   ( 'a' 225 ) ( 'l' ':' ) ( 'c' 007 ) ( 'e' 233 )
>>   ( 'i' 237 ) ( 'n' 'D' ) ( 'o' 243 ) ( 'u' 250 )
>>   ( 'y' 253 )
>>
>> keymap:
>>    dacu 0xb4    ( 0xb4   0xb4    ) ( 'S'    0x015a  ) ( 'Z'    0x0179  )
>> ( 's'    0x015b  )
>>     ( 'z'    0x017a  ) ( 'R'    0x0154  ) ( 'A'    0xc1    )
>> ( 'L'    0x0139  )
>>     ( 'C'    0x0106  ) ( 'E'    0xc9    ) ( 'I'    0xcd    )
>> ( 'N'    0x0143  )
>>     ( 'O'    0xd3    ) ( 'U'    0xda    ) ( 'Y'    0xdd    )
>> ( 'r'    0x0155  )
>>     ( 'a'    0xe1    ) ( 'l'    0x013a  ) ( 'c'    0x0107  )
>> ( 'e'    0xe9    )
>>     ( 'i'    0xed    ) ( 'n'    0x0144  ) ( 'o'    0xf3    )
>> ( 'u'    0xfa    )
>>     ( 'y'    0xfd    )
>>
>> Source of the problem is the following definition in sys/sys/kbio.h:
>>
>> struct acc_t {
>>  u_char  accchar;
>>  u_char  map[NUM_ACCENTCHARS][2];
>> };
>>
>> While the keymaps were converted to have the unicode characters for vt
>> in the commit below, the array to store them (map) was missed, or was
>> there a reason for this?
>>
>> ---
>> commit 7ba08f814546ece02e0193edc12cf6eb4d5cb8d4
>> Author: Stefan Eßer 
>> Date:   Sun Aug 17 19:54:21 2014 +
>>
>>  Attempt at converting the SYSCONS keymaps to Unicode for use with
>> NEWCONS.
>>  I have spent many hours comparing source and destination formats,
>> and hope
>>  to have caught the most severe conversion errors.
>> ---
>>
>> I have tried the following patch and it allows me to enter all accents
>> documented in the keymap, though I must admit I'm not sure it does not
>> have hidden issues:
>>
>> diff --git a/sys/sys/kbio.h b/sys/sys/kbio.h
>> index 7f17bda76c5..fffeb63e226 100644
>> --- a/sys/sys/kbio.h
>> +++ b/sys/sys/kbio.h
>> @@ -200,7 +200,7 @@ typedef struct okeymap okeymap_t;
>>
>>   struct acc_t {
>>  u_char  accchar;
>> -   u_char  map[NUM_ACCENTCHARS][2];
>> +   int map[NUM_ACCENTCHARS][2];
>>   };
>>
> 
> Hi,
> 
> Using "int" for unicode characters is probably good for now. Your patch
> looks good, but please also consider the "umlaut" case while at it
> (multiple characters that become one)!

I think umlauts are already part of "accents" (duml keyword), e.g. in
cz.kbd:

  duml 0xa8( 0xa8   0xa8) ( 'A'0xc4) ( 'E'0xcb)
( 'O'0xd6)
   ( 'U'0xdc) ( 'a'0xe4) ( 'e'0xeb)
( 'o'0xf6)
   ( 'u'0xfc)

So pressing Alt+Shift and "=/+" key, and then pressing one of AEOUaeou
keys would produce ÄËÖÜäëöü, respectively, and it currently works as all
of the ÄËÖÜäëöü characters can be written as single-byte unicode.

And the following dcar (that is, "caron") characters are all broken as
they need at least 2 bytes, pressing Shift and "=/+" key, and any of the
LSTZlstzCEDNRcednrUu would print nothing at all, produce garbage, or
print some control character (last byte only):

  dcar 0x02c7  ( 0x02c7 0x02c7  ) ( 'L'0x013d  ) ( 'S'0x0160  )
( 'T'0x0164  )
   ( 'Z'0x017d  ) ( 'l'0x013e  ) ( 's'0x0161  )
( 't'0x0165  )
   ( 'z'0x017e  ) ( 'C'0x010c  ) ( 'E'0x011a  )
( 'D'0x010e  )
   ( 'N'0x0147  ) ( 'R'0x0158  ) ( 'c'0x010d  )
( 'e'0x011b  )
   ( 'd'0x010f  ) ( 'n'0x0148  ) ( 'r'0x0159  )
( 'U'0x016e  )
   ( 'u'0x016f  )