79 Commits

Author SHA1 Message Date
Igor Pečovnik
d96fea7b17 Merge pull request #31 from Miouyouyou/main
docker: softwares: Use volumes instead of directories
20231206-2011 20231206-2001 20220927-1103
2022-09-27 13:03:33 +02:00
Myy Miouyouyou
89eb1f4c48 docker: softwares: Use volumes instead of directories
When using directories, the docker images will start
generaties files inside these directories, with root
privileges.
These files cannot be removed by the user, even though
he owned the directory.

So I decided to use volumes instead, since this alleviate
the issue.

I'll add a volume management API letter. For the time
being, you'll have to rely on docker-compose volume
commands to manage them.

Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
2022-09-16 20:05:40 +02:00
Igor Pečovnik
42abae4384 Update tests.yml 20220808-1124 2022-08-08 13:24:08 +02:00
Igor Pecovnik
d52cc9645e Merge branch 'Miouyouyou-main' 20220808-1121 2022-08-08 13:20:53 +02:00
Igor Pecovnik
f9b3e631f0 Merge branch 'main' of github.com:Miouyouyou/configurator into Miouyouyou-main 2022-08-08 13:20:38 +02:00
Myy Miouyouyou
e2c72a828b I should stop using Kate for editing Markdown files
This retarded editor will delete spaces at the end of
Markdown lines EVEN WHEN ASKED TO NEVER DO IT !
Two spaces to create a line-break in Markdown is
PART OF THE SYNTAX !

So, I'm now switching to Code for Markdown.

Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
2022-08-07 16:44:24 +02:00
Myy Miouyouyou
589db6f514 Making the software a bit more user-friendly
There's still a lot to do before it becomes really user-friendly,
but at least, this thing won't spout weird Debug messages for
nothing at the moment.

Also, you can now specify the execution mode using '--mode='

The DESIGN.md now looks more like a "First module guide"
but some parts are now missing...

I'll try to fix that when possible.

Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
2022-08-07 16:35:30 +02:00
Myy Miouyouyou
3add9e2b2a Advancing on the documentation
And fixing a few directories names, in order to conform
with the documentation.

Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
2022-08-06 23:12:56 +02:00
Myy Miouyouyou
fa940e445c Documentation the packaging of the modules
Even though the packaging script is still not created, this
helps understand which files are used by the packager.
I still feel that I omitted a few things here and there.
But the main parts are present !

Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
2022-08-06 21:25:09 +02:00
Myy Miouyouyou
53ad89daf4 Merge branch '1-new_folder_architecture' 2022-08-06 16:36:09 +02:00
Myy Miouyouyou
a1195cbc6c Rework of the folder architecture
In order to package the modules correctly, a package-manager specific
directory architecture has been put in place.

The whole idea to have something like that, inside the module
directory :

* armbian
  * DEPS : Global installation dependencies
  * DEPS.build : Dependencies only required to build the actual
    module project
  * BUILD.sh : The script run at the module root directory to
    build the whole module.
  * POSTINST.sh : Global Post-installation script
  * all-archs/
   * cli/
    * DEPS : Cli specific dependencies
    * module/ : Module files copied on the harddrive...
   * gui/
    * POSTINST.sh : GUI specific Post-installation script
    * DEPS : GUI specific dependencies
    * module/ : Module files copied on the harddrive...
  * armv7/ : ARMv7 specific modules
  * aarch64 : ARMv8 64 bits specific modules
  * aarch64.rockchip : ARMv8 64 bits specific modules for Rockchip

First, note that the architectures directories are not required
per-se. You can go with only "all-archs". Only create an "armv7"
directory if it makes sense for you to have a Armv7 specific
module.
This is generally the case if the module needs to be built for
a specific architecture.

Second, while the files (DEPS, POSTINST.sh, ...) are concatenated,
each architecture is independant, and the packaging script WILL NOT
OVERLAY THEM.
Meaning that the module files need to copied over and over, in each
invidiual architecture directory.

Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
2022-08-06 16:34:53 +02:00
Myy Miouyouyou
2c9aef34e3 Rework of the folder architecture
In order to package the modules correctly, a package-manager specific
directory architecture has been put in place.

The whole idea to have something like that, inside the module
directory :

* armbian
  * DEPS : Global installation dependencies
  * DEPS.build : Dependencies only required to build the actual
    module project
  * BUILD.sh : The script run at the module root directory to
    build the whole module.
  * POSTINST.sh : Global Post-installation script
  * all-archs/
   * cli/
    * DEPS : Cli specific dependencies
    * module/ : Module files copied on the harddrive...
   * gui/
    * POSTINST.sh : GUI specific Post-installation script
    * DEPS : GUI specific dependencies
    * module/ : Module files copied on the harddrive...
  * armv7/ : ARMv7 specific modules
  * aarch64 : ARMv8 64 bits specific modules
  * aarch64.rockchip : ARMv8 64 bits specific modules for Rockchip

First, note that the architectures directories are not required
per-se. You can go with only "all-archs". Only create an "armv7"
directory if it makes sense for you to have a Armv7 specific
module.
This is generally the case if the module needs to be built for
a specific architecture.

Second, while the files (DEPS, POSTINST.sh, ...) are concatenated,
each architecture is independant, and the packaging script WILL NOT
OVERLAY THEM.
Meaning that the module files need to copied over and over, in each
invidiual architecture directory.

Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
2022-08-06 16:30:35 +02:00
Igor Pecovnik
2224a1205f Merge branch 'Miouyouyou-main' 20220806-1341 2022-08-06 15:41:03 +02:00
Igor Pecovnik
de73623ead Merge branch 'main' of github.com:Miouyouyou/configurator into Miouyouyou-main 2022-08-06 15:40:44 +02:00
Myy Miouyouyou
f676d92001 docker: haproxy: Fixed the configuration
The configuraiton now works by default.
Such progress...

It also provides a nginx installation, so that the user
can just go on its port 80 and check for the nice
message.

Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
2022-07-22 21:59:33 +02:00
Myy Miouyouyou
752335449a Finishing the new execution directory architecture
A lot of things changed.

Now the only files necessary are :

* module_name / DESC
* module_name / cli / module

For additional modes, you can add :

* module_name / gui / module
* module_name / tui / module

And that should do the trick.

All the 'armbian' things are being moved to the packaging directory
architecture, which will come with the next update.

Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
2022-07-22 08:12:11 +02:00
Igor Pečovnik
64211f1486 Merge pull request #25 from Miouyouyou/main
modules: docker: Let's avoid wildcards
20220716-0958
2022-07-16 11:58:34 +02:00
Myy Miouyouyou
ac030b4fe9 modules: docker: Let's avoid wildcards
And be precise with the dependencies.

Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
2022-07-15 22:31:25 +02:00
Myy Miouyouyou
06262b5848 module: docker: Fixing the DEPS
Let's see if that fixes PyQT5 dependencies hell.

Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
2022-07-15 22:23:10 +02:00
Myy Miouyouyou
cc2c140d4d Preparing for the new folder architecture
There's still a lot of things I'll have to figure out here.

Currently, the whole directory is mixed bag of everything,
with packaging, execution, different modes being mixed
together into one folder.

I'm trying to separate packaging from execution, while
also separating different architectures.

Then I'll have to script the packaging nicely and test
the whole thing once installed.

The final idea is that, you'll need to have some kind
of "build" phase for any module, where you put the
files in the right folders.
I'll try to keep the number of folders as low as possible,
but still, the build phase seems unavoidable, in order to have
a clean source directory.

For simple modules, that will just mean that you'll basically code
inside the build directories, just like it's being done now.
For complex modules, that will mean the addition of a build phase in
your Makefile, CMakeFiles, meson, gradle, whatever... in order to
generate all the folders for different architectures.

Then the packaging system will just package each folder as
module M for architecture A.
This allow people using compiled languages to provide proper
executables for each architecture, obviously.
This also makes things normal and simpler in terms of sources
management.

Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
2022-07-15 21:18:10 +02:00
TheLinuxBug
4c2b99c56e Merge pull request #24 from Miouyouyou/main
module: docker: Fixing the DEPS
20220715-1826
2022-07-15 14:25:58 -04:00
Igor Pecovnik
f72d657440 Not all HW has this option 20220714-1223 2022-07-14 14:22:54 +02:00
Igor Pečovnik
aea146d4d7 Merge pull request #12 from armbian/dependabot/github_actions/actions/labeler-4
Bump actions/labeler from 3 to 4
20220714-1049
2022-07-14 12:49:15 +02:00
Igor Pečovnik
59795bbe59 Merge pull request #13 from armbian/dependabot/github_actions/actions/checkout-3
Bump actions/checkout from 2 to 3
2022-07-14 12:49:03 +02:00
lanefu
82fb99e1fb Merge pull request #22 from Miouyouyou/main
modules: Added cpufreq
20220709-1157
2022-07-09 07:57:30 -04:00