Tiny Core Linux

Tiny Core Extensions => TCE Talk => Topic started by: roger@languageONE.com.au on September 22, 2016, 01:54:57 AM

Title: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 22, 2016, 01:54:57 AM
Hello..I'm kinda new here, so I hope I am doing this correctly..
I believe the way to communicate at TinyCore is thru the forums ??

I am in Melbourne,Australia and have been developing a programming language that I believe would sit nicely in TinyCore. I call it languageONE and you are able to check it out at www.languageONE.com.au. It is infact, purely assembler but is presented in a series of macros that give the writer the experience of a high level language. It is based on the idea that Compilers were never really necessary and that languages could have evolved without them. It comes with statically linked libraries, communicates with the kernel directly and therefore does not rely on clib or any other libraries. It is built to be efficient and this is where I think it would make a great extension for TinyCore.

I have been working on getting TinyCorePure64 working and have only skimmed the instructions on building extensions but will start looking at that now.
Is this the sort of thing TinyCore would be interested in and if so would you be able to help me thru the process.

The system itself only has one dependency, that is nasm (or yasm) and I see there are already extensions for either of them. Being assembler the system really is just a series of text files, with the exception of the libraries (which can be built into the extension or simply assembled after installation) and a small translator program, written in languageONE and easily assembled and linked.

I certainly would be happy for it to be available in TinyCore and would look forward to any help you could offer.
I will look forward to a reply.
Thx
Roger Tunnicliffe.
Title: Re: languageONE extension for CorePlus64
Post by: Juanito on September 22, 2016, 02:32:06 AM
we're always happy to receive new extensions, please go ahead - I'm sure the forum users will help if required
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 22, 2016, 02:52:32 AM
 :) Great, I'll begin work on it
Thx
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 24, 2016, 03:13:40 AM
I have created a tcz and installed on my system.
my TinyCorePure64 is installed on my harddisk.
The installed layout is...

languageONE/assemble.sh
languageONE/link.sh
languageONE/makeONE.sh
languageONE/GUImakeONE.sh

languageONE/bin/GUI-makeONE
languageONE/bin/languageONE

languageONE/html/logo.jpg
languageONE/html/V1-16-screen0.html
.
.
languageONE/lib/COMMON.o
languageONE/lib/COMMON.LIB
languageONE/lib/STDIO.o
languageONE/lib/STDIO.LIB
.
.
languageONE/src/V0.04.ONE
languageONE/src/0.GUI-TEMPLATE.ONE
languageONE/src/V0.01.ONE
.
.
languageONE/include/BEGIN.PROGRAM
languageONE/include/BEGIN.INSTRUCTIONS
.
.
languageONE/doc/README.MD
languageONE/doc/languageONE.odt
languageONE/doc/LICENSE
languageONE/doc/VERSION.HISTORY

and it was my intention to have this install under my home directory. so.../home/tc/languageONE
whereas it installs in /lib /doc /src etc

Am I able to install it under a home directory or do I need to restructure the way it is setup

Thx




Title: Re: languageONE extension for CorePlus64
Post by: Juanito on September 24, 2016, 03:37:32 AM
If you're making a private extension you can do whatever you like  :)

If you're planning on submitting the exension, then the files need to be under:

/usr/local/bin
/usr/local/etc
/usr/local/lib
/usr/local/share/doc
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 24, 2016, 04:27:03 AM
so where does that leave me with the include files, the html, the shell scripts etc..???
 ???
Title: Re: languageONE extension for CorePlus64
Post by: Juanito on September 24, 2016, 04:48:55 AM
You can see the extension file lists using the apps gui or from a browser  ;)

/usr/local/bin
/usr/local/include
/usr/local/share/doc/html
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 24, 2016, 08:17:41 PM
I have put the package together and done a local load on my system..

lrwxrwxrwx    1 root     root            59 Sep 24 23:53 GUImakeONE.sh -> /tmp/tcloop/languageONE/usr/local/languageONE/GUImakeONE.sh
lrwxrwxrwx    1 root     root            57 Sep 24 23:53 assemble.sh -> /tmp/tcloop/languageONE/usr/local/languageONE/assemble.sh
drwxrwxrwx    2 1000     1000            80 Sep 23 06:29 bin/
drwxrwxrwx    2 1000     1000           120 Sep 24 06:39 doc/
drwxrwxrwx    2 1000     1000           200 Sep 23 06:44 html/
drwxrwxrwx    2 1000     1000           440 Sep 23 06:45 include/
drwxrwxrwx    2 1000     1000           220 Sep 24 22:46 lib/
lrwxrwxrwx    1 root     root            53 Sep 24 23:53 link.sh -> /tmp/tcloop/languageONE/usr/local/languageONE/link.sh
lrwxrwxrwx    1 root     root            56 Sep 24 23:53 makeONE.sh -> /tmp/tcloop/languageONE/usr/local/languageONE/makeONE.sh
drwxrwxrwx    2 1000     1000           580 Sep 24 22:46 src/

however when I try and run anything it responds with file not found.
eg. I can "cat" makeONE.sh and its fine but it cannot be found when trying to run it ??? ???
Title: Re: languageONE extension for CorePlus64
Post by: Rich on September 24, 2016, 09:09:46 PM
Hi roger@languageONE.com.au
I'm guessing that's a directory listing of  /usr/local/languageONE/, and it's not listed in the path environmental variable, which
is why you are getting the not found message. Lose the  languageONE  part of the path and place the  .sh  files under
/usr/local/bin.
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 24, 2016, 09:21:38 PM
Sorry Rich, that's not it. Same problem.
and was giving full path names when I was trying to run the script
In addition when I try and edit the file it also says file does not exist.
Yet its still happy to cat it out to the screen  ??? ??? ???
Title: Re: languageONE extension for CorePlus64
Post by: Rich on September 24, 2016, 09:31:30 PM
Hi roger@languageONE.com.au
Quote
and was giving full path names when I was trying to run the script
Did you try:
Code: [Select]
./usr/local/languageONE/GUImakeONE.sh
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 24, 2016, 09:42:02 PM
Yeah, no difference.
The odd thing is though is that if I assemble a languageONE program on my Mint partition and copy it across to the TinyCore partition it runs fine.
I have languageONE installing on /usr/local/languageONE and I have it copied across to the hard disk at /home/tc/languageONE
Either locations and it cannot be found  ??? ??? ???
Title: Re: languageONE extension for CorePlus64
Post by: Rich on September 24, 2016, 10:12:31 PM
Hi roger@languageONE.com.au
You didn't post the actual error message, but I'm guessing  "file not found"  was not referring to your script but possibly
the scripting language it was written in, bash maybe?

Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 24, 2016, 11:22:42 PM
Yeah, I initially thought that but then why cant it find it when I try and edit it  ??? ???
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 25, 2016, 12:16:07 AM
and I am not sure if this is involved but it is definitely very odd..
When I have a look at my harddisk partition I get...
mount
/dev/sda1 on /mnt/sda1 type ext4 (rw,relatime,data=ordered)
but when I try and save a file using editor, i get
error writing to file /mnt/sda1/Users/roger/languageone/assemble.sh
Read-only file system

maybe some boot-codes I am getting wrong ????

Title: Re: languageONE extension for CorePlus64
Post by: Rich on September 25, 2016, 12:27:33 AM
Hi roger@languageONE.com.au
Quote
error writing to file /mnt/sda1/Users/roger/languageone/assemble.sh
Read-only file system
When you create an extension it is packed into a  squash file system  which is read only.
Title: Re: languageONE extension for CorePlus64
Post by: Rich on September 25, 2016, 12:33:22 AM
Hi roger@languageONE.com.au
You might also want to take the time to read the core book:
http://tinycorelinux.net/book.html
Title: Re: languageONE extension for CorePlus64
Post by: Juanito on September 25, 2016, 12:47:19 AM
If you build your extension like this:

/tmp/pkg/usr/local/bin/GUImakeONE.sh
/tmp/pkg/usr/local/bin/assemble.sh
...

and then:
Code: [Select]
$ cd /tmp
$ sudo mksquashfs pkg/ languageONE.tcz
$ sudo chown tc:staff languageOne.tcz

When languageOne.tcz is loaded (tce-load -i languageONE), tinycore will make symlinks like this:

/usr/local/bin/GUImakeONE.sh -> /tmp/tcloop/languageONE/usr/local/bin/GUImakeONE.sh
/usr/local/bin/assemble.sh -> /tmp/tcloop/languageONE/usr/local/bin/assemble.sh
...

..and since /usr/local/bin is in $PATH, the scripts will be found and run.
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 25, 2016, 12:51:59 AM
I think I kinda get that but I haven't created a file system, I have mounted an existing ext4 file system. I have then copied what was installed via
the extension. From /usr/local/languageONE to /mnt/sda1/Users/roger/languageONE.
So...If I am booting off the harddisk, does TinyCore consider the disk (partition?) as read only. In that case how do I access any
other file systems on the disk/network ???? ???
Title: Re: languageONE extension for CorePlus64
Post by: Juanito on September 25, 2016, 01:04:14 AM
Does tinycore have the appropriate permissions to read the mounted ext4 partition?

If you want to copy the contents of an extension, do it like this:
Code: [Select]
$ cd /tmp
$ mkdir image pkg
$ sudo mount /tmp/languageONE.tcz /tmp/image
$ sudo cp -rp /tmp/image/usr /tmp/pkg
$ sudo umount /tmp/image

You can then edit the contents of the extension under /tmp/pkg/usr
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 25, 2016, 03:08:46 AM
Sorry but the above also could not find the file....

What did work though, was to move everything to a different partition (NOT the one that TinyCore booted)
Does that help you to figure out what is happening.

Also "Does tinycore have the appropriate permissions to read the mounted ext4 partition?", How do I tell this
Title: Re: languageONE extension for CorePlus64
Post by: Juanito on September 25, 2016, 04:15:46 AM
tinycore has the following users/groups:

tc:staff
root:staff
root:root

..so if the partition is owned by a user other than tc, you may need to be root to read/write.

"ls -l /mnt/sda1" will show the user/group
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 26, 2016, 07:11:19 PM
Hi guys..

I have rearranged languageONE's directory structure to make it more TinyCore friendly. Everything now runs fine on my system.
I did however try to install submitqc5 and alternately submitqc and both returned a status of fail. I have though gone ahead and
emailed the package without the extra file and hope that's okay. If you need me to do anything please let me know

Thanks
roger@languageONE.com.au
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 26, 2016, 07:29:44 PM
err guys. My email was bounced back with the following error.

The mail system

<tcesubmit@gmail.com>: host gmail-smtp-in.l.google.com[74.125.204.26] said:
    552-5.7.0 This message was blocked because its content presents a potential
    552-5.7.0 security issue.

What do I need to do  ???
Title: Re: languageONE extension for CorePlus64
Post by: Rich on September 26, 2016, 08:19:46 PM
Hi roger@languageONE.com.au
I take it you created a  tar  archive as outlined here:
http://wiki.tinycorelinux.net/wiki:creating_extensions#send_to
The Wiki used to say to  bcrypt  the file with the password  tinycore  prior to submitting, so try that.
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 26, 2016, 09:17:12 PM
Rich..

am "bcrypt"ing each file and then "tar"ing them

languageONE.tcz
languageONE.tcz.dep
languageONE.tcz.info
languageONE.tcz.list
languageONE.tcz.md5.txt

of "bcrypt"ing the final
languageONE.tar.gz

Thx.
P.S. What country are you guys in ??
Title: Re: languageONE extension for CorePlus64
Post by: Rich on September 26, 2016, 09:27:11 PM
Hi roger@languageONE.com.au
Tar the files first, then bcrypt the tar file. I'm from Long Island, New York.
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 26, 2016, 09:29:29 PM
Thx mate, I'll try that again
cheers
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 26, 2016, 10:47:11 PM
Guys..

seems to have gone thru this time.
Keep me "in the loop" eh

Cheers
Roger
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 28, 2016, 08:18:48 AM
Hey guys, how are we going with this one. Anything I need to do to help
Title: Re: languageONE extension for CorePlus64
Post by: Juanito on September 28, 2016, 08:36:29 AM
submitted extensions take one or two weeks to appear...
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on September 28, 2016, 09:35:55 AM
Cool. Thx :)
Title: Re: languageONE extension for CorePlus64
Post by: thane on September 29, 2016, 02:51:59 AM
A little OT, but above you asked what country Tiny Core was in. The answer is many!

http://forum.tinycorelinux.net/index.php/topic,6310.0.html
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on October 02, 2016, 08:53:30 PM
Hi guys...

I wasn't sure if i was to ask on the forum or respond to the email. That is languageONE is now available and I can see it on the website but cannot find it on any of the mirrors. Does It just take time to propagate the extension ??
Also, languageONE is being worked on all the time. Will I find how to manage new versions in the forums here.

Cheers
Roger
Title: Re: languageONE extension for CorePlus64
Post by: Rich on October 02, 2016, 09:55:45 PM
Hi roger@languageONE.com.au
Yes, there is a delay before the mirrors get updated. I think mirrors update once every 24 hours.

Quote
Also, languageONE is being worked on all the time. Will I find how to manage new versions in the forums here.
When you have enough changes for a new release, package and submit it.
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on October 02, 2016, 10:13:28 PM
Thx Guys..
Should I be using a version no in the extension name ???
Title: Re: languageONE extension for CorePlus64
Post by: Rich on October 02, 2016, 10:18:51 PM
Hi Hi roger@languageONE.com.au
Not if you don't have to. Just update the  .info  file with the current version number and update the  change log  field.
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on October 02, 2016, 11:32:40 PM
Cool
Thx guys
Title: Re: languageONE extension for CorePlus64
Post by: Juanito on October 03, 2016, 01:05:14 AM
The info file mentions corepure64, but the extension is in the 32-bit repo - would you like me to move it?
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on October 03, 2016, 03:41:39 AM
Yes, It's strictly 64bit.

I will also have a look at your email in regard to fie locations.
I can't see any real problem. I will let you know

Cheers
Roger
Title: Re: languageONE extension for CorePlus64
Post by: Juanito on October 03, 2016, 03:51:36 AM
moved to corepure64 repo
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on October 03, 2016, 05:52:19 PM
Juanito

I have made the file system structure changes as per your personal email.
I will submit the extension shortly. (I am not far off a new version so will hang back until that is done)

Many Thx
Roger
Title: Re: languageONE extension for CorePlus64
Post by: roger@languageONE.com.au on October 05, 2016, 04:36:32 AM
Hi..

I have resubmitted languageONE.
Keep me in the loop eh !

cheers
roger