WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: screen.tcz dropped for 11.x?  (Read 2769 times)

Offline Richard MQ

  • Newbie
  • *
  • Posts: 15
screen.tcz dropped for 11.x?
« on: April 29, 2020, 01:11:57 PM »
Can anyone tell me why screen.tcz was dropped for 11.x - it was present in 10.x
Unfortunately I can't get the 10.x version to run on 11.1, I might have to have a stab at building it (my first tc extension!)
 It is a very useful little utility if like me you use boxes headless.
Thanks
Richard

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14817
Re: screen.tcz dropped for 11.x?
« Reply #1 on: April 29, 2020, 01:27:54 PM »
The screen extension was not copied to the 11.x x86 repo because it depends on an old version of ncurses.

Please go ahead and update the extension against the version of ncursesw in the 11.x repo.

Offline Richard MQ

  • Newbie
  • *
  • Posts: 15
Re: screen.tcz dropped for 11.x?
« Reply #2 on: April 29, 2020, 03:20:01 PM »
I'll give it a go.

With the wiki still down, I am planning to base my efforts on http://forum.tinycorelinux.net/index.php/topic,18682.msg114360.html#msg114360
unless you have a better suggestion?

Also any pointer to the 10x source would be helpful - no "screen" at http://tinycorelinux.net/10.x/x86/tcz/src/ even though it is listed at http://tinycorelinux.net/10.x/x86/tcz/? Failing that the vanilla code seems to be available via git at gnu.org...

Thanks
Richard

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11629
Re: screen.tcz dropped for 11.x?
« Reply #3 on: April 29, 2020, 04:20:54 PM »
Hi Richard MQ
... With the wiki still down, ...
A mirror for the Wiki can be found here:
http://wiki.tinycorelinux.net/doku.php?id=wiki:start

A build script for  screen  can be found here:
http://tinycorelinux.net/7.x/x86/tcz/src/screen/

Quote
Also any pointer to the 10x source would be helpful ...
According to the  .info  file, the source came from:
http://www.gnu.org/software/screen/
« Last Edit: October 27, 2022, 09:48:07 PM by Rich »

Offline Richard MQ

  • Newbie
  • *
  • Posts: 15
Re: screen.tcz dropped for 11.x?
« Reply #4 on: April 30, 2020, 02:54:27 AM »
Thanks Rich,

The first 2 lines of your reply should be in an FAQ I think! I have really missed the wiki  :( .

For the third, I didn't look back as far as 7.x or I would have found the build file.

Meanwhile I have retrieved source from gnu.org via git, and built it with no problems (build process based on autoconf rather than the TC build script though) - it seems to run fine.

So the only issue should be in packaging as a tcz.
BR
Richard

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14817
Re: screen.tcz dropped for 11.x?
« Reply #5 on: April 30, 2020, 03:11:23 AM »
Just to double-check, did you build with tinycore flags, i.e.:
Code: [Select]
CC="gcc -flto -fuse-linker-plugin -march=i486 -mtune=i686 -Os -pipe" CXX="g++ -flto -fuse-linker-plugin -march=-484 -mtune=i686 -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --localstatedir=/var --with-socket-dir=/run/screen

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make
sudo make install

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11629
Re: screen.tcz dropped for 11.x?
« Reply #6 on: April 30, 2020, 07:25:59 AM »
Hi Richard MQ
... So the only issue should be in packaging as a tcz. ...
Take a closer look at the build script. It separates out the doc files and then creates 2 packages, the extension and its documentation.
The only thing it does not create is the  .info  file. For that, use the one from TC10 and update the required fields (Date, Version,
Change Log, etc.).

I recommend using the build script as a starting point and updating it with the parameters Juanito posted.

Offline Richard MQ

  • Newbie
  • *
  • Posts: 15
Re: screen.tcz dropped for 11.x?
« Reply #7 on: May 20, 2020, 03:03:51 PM »
OK sorry for delay, life got in the way...
I am trying to produce screen.tcz for contribution TC11.x, but a few obstacles remain.

I have updated screen.build to incorporate Juanito's flags etc., screen still builds and runs OK. I put a copy of the tcz in /mnt/sda1/tce/optional, listed it in onboot.lst and it even auto-loads OK and runs just fine.

Question 1: What is the protocol when it comes to build etc. info? I have tweaked the source so that "-v" gives
Code: [Select]
Screen version 4.04.00 (GNU) 19-Jun-16 built 18 May 2020 by Richard MQ for TinyCore 11.1- is this considered acceptable? Happy to revert if not.

In the same vein I have also copied screen.info from 7.x repo (this was the newest I can find) and updated to 11.x as per the wiki [1].

Finally, again as per wiki, I ran
Code: [Select]
ldd $(which screen) to generate a dependency list which gave me the following:

Code: [Select]
linux-gate.so.1 (0xb7f32000)
libncursesw.so.6 => /usr/local/lib/libncursesw.so.6 (0xb7ee3000)
libutil.so.1 => /lib/libutil.so.1 (0xb7ede000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7ead000)
libc.so.6 => /lib/libc.so.6 (0xb7d60000)
/lib/ld-linux.so.2 (0xb7f33000)

So question 2: how do I know which of these to list as dependencies, also what to do regarding versions (we need libncurses.so.6 for example) e.g.
Code: [Select]
linux-gate.tcz
libncursesw.tcz
libutil.tcz
libcrypt.tcz
libc.tcz
ld-linux.tcz

 - apps->Provides indicates all but the first are available in the repo. The wiki is silent on this detail.

I can't find a way to test this without setting up a web-server and pointing tce-load at it?

[1] wiki page "Creating extensions" http://wiki.tinycorelinux.net/doku.php?id=wiki:creating_extensions

Thanks in advance for any help
Richard
« Last Edit: October 27, 2022, 11:17:52 PM by Rich »

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11629
Re: screen.tcz dropped for 11.x?
« Reply #8 on: May 20, 2020, 04:56:28 PM »
Hi Richard MQ
... Question 1: What is the protocol when it comes to build etc. info? I have tweaked the source so that "-v" gives
Code: [Select]
Screen version 4.04.00 (GNU) 19-Jun-16 built 18 May 2020 by Richard MQ for TinyCore 11.1- is this considered acceptable? Happy to revert if not. ...
I would say no. The  tcz.info  file has the  Extension_by:  field for your name.  The  Current:  field is for the built date. "Updated
for TC11"  can also be added to that field.

... Finally, again as per wiki, I ran
Code: [Select]
ldd $(which screen) to generate a dependency list which gave me the following:

Code: [Select]
linux-gate.so.1 (0xb7f32000)
libncursesw.so.6 => /usr/local/lib/libncursesw.so.6 (0xb7ee3000)
libutil.so.1 => /lib/libutil.so.1 (0xb7ede000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7ead000)
libc.so.6 => /lib/libc.so.6 (0xb7d60000)
/lib/ld-linux.so.2 (0xb7f33000)
...

linux-gate.so.1  and  /lib/ld-linux.so.2  handle the loading of libraries. They are always present and should be ignored.
libc.so.6  is part of the base system and always present and should be ignored.
libcrypt.so.1  is part of the base system and always present and should be ignored.
libutil.so.1  is part of the base system and always present and should be ignored.

Quote
So question 2: how do I know which of these to list as dependencies, also what to do regarding versions (we need libncurses.so.6 for example) e.g.
Code: [Select]
linux-gate.tcz
libncursesw.tcz
libutil.tcz
libcrypt.tcz
libc.tcz
ld-linux.tcz
Only  ncursesw.tcz  should be listed. The others don't exist.

Quote
I can't find a way to test this without setting up a web-server and pointing tce-load at it?
The way to test it is to remove it from  onboot.lst, reboot, and load it from the command line like this:
Code: [Select]
tce-load -i screen.tczNo website required. This command loads the extension from a local location (tce directory) instead of a remote one.

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11044
Re: screen.tcz dropped for 11.x?
« Reply #9 on: May 21, 2020, 02:36:30 AM »
It's fine to have a customized build/version string.
The only barriers that can stop you are the ones you create yourself.