Commit Graph

111 Commits

Author SHA1 Message Date
Igor Pečovnik
026e9e49fc
Fix wallpapers and icons (#3384)
* Fix desktop wallpaper on Plasma and Deepin

- plasma - add script to default to armbian
  todo: autostart

* Fix wallpaper on Mate, set it as supported

* Fix icons on Mate desktop

* Disable script for setting wallpaper. We need better solution ...
2022-01-08 09:59:19 +01:00
Ricardo Pardini
90e0fe0ba2
extensions framework + UEFI aarch64/x86 + rpi4b + core changes/fixes (#3300)
* extensions framework (née "fragments")

- this should actually change nothing at this point, just add capabilities
- the framework is implemented in lib/extensions.sh
- the "if function x exists then call x" replaced with call_extension_method()
  - +inline documentation
  - +compatibility names

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions framework; meta-extensions: auto-docs and sample extension gen

- 2 extensions dealing with extensibility itself
  - detect-unused-extensions: shows which extensions are enabled, but never called.
  - gen-sample-extension-docs: generates a sample empty extension & Markdown documentation for extensions

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* new extension methods and features via config variables in core Armbian

- `SKIP_EXTERNAL_TOOLCHAINS=yes` - does not download or use any linaro toolchains, only build host-installed ones
- `SKIP_BOOTSPLASH=yes` - does not patch kernel for splash file
- `EXTRA_BSP_NAME=xyz` - allows for BSP variants, useful for when extensions modify the BSP
- `EXTRA_ROOTFS_MIB_SIZE=x` - add x mib's to rootfs size, for use with very small images
- `KERNEL_EXTRA_TARGETS` - what extra targets to make kernel for, default to "modules dtbs"
- `BOOTCONFIG=none` - does not build nor install u-boot; also doesn't handle bootscripts et al
- `unset KERNELSOURCE` - does not build nor install kernel, nor build initrd, nor build nor install firmware
- `ARMHF_ARCH=skip` - does not add armhf to apt/dpkg, thus pure arm64
- `SKIP_ARMBIAN_REPO=yes` - results in armbian.list.disabled in the final image
- define `APT_EXTRA_DIST_PARAMS` with apt-cacher-ng options and use it for `PACKAGE_LIST_INSTALL/REMOVE` et al
- initial support for targeting x86/amd64 UEFI and BIOS
    - some do's/don'ts for x86/amd64, like a different `UBUNTU_MIRROR` default
    - GPT/EFI(ESP) partitions (fat, `UEFISIZE=256` to enable, mount `UEFI_MOUNT_POINT=/boot/efi`, first on disk but ends
      up at `$uefipart`=15)
    - GPT/BIOS partitions (fat, `BIOSSIZE=1` to enable, second on disk but ends up at partition 14)
    - `UEFI_FS_LABEL="armbiefi"` - to set the FAT label for the EFI partition, visible in Win/Mac
    - hard-requires gdisk package host-side
- add add_host_dependencies() extension method; fill `EXTRA_BUILD_DEPS="pkg pkg2"` to install to host before toolchains
  download
- add pre_prepare_partitions() extension method, for custom partition size calculations
- add create_partition_table() extension method, used to do full-custom partitioning if `USE_HOOK_FOR_PARTITION=yes`
- add post_create_partitions() extension method, mostly for easy debugging
- add post_write_sdcard() extension method, where you can also set `SKIP_VERIFY=yes` to skip sdcard verification
- add post_install_kernel_debs() extension method.
- multiple fixes to bsp to avoid spurious errors when files are not where it expects
- v4: detect `update-initramfs` failure and abort build with useful message if it does
- v4: show useful stacktrace in `exit_with_error`
  - if `ERROR_DEBUG_SHELL=yes`, drop into a shell before unmounting/deleting everything, so we can inspect what went wrong
- v4: display a message before `apt-get remove PACKAGE_LIST_BOARD_REMOVE` packages, so any errors while removing are easy to understand
- v4: preserve kernel .config's dates when copying

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions framework; refactor tool fetching/building into extensions

- a few examples of core refactoring using extensions
- sunxi-tools extension, enabled by 2 different sunxi family includes ("reuse" example)
- marvel-tools extension, enabled by 2 different mvebu family includes
- rkbin-tools extension, enabled by rockship64_common family include
- amlogic-fip/c2-blobs stuff refactored directly into meson64_common.inc ("single-use" example)
- removed the 'testings' fetch_from_repo completely since not used anywhere.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* .wip's for UEFI arm64 and UEFI/BIOS x86 via new GRUB extension

- v3: added `growroot`-awareness to `armbian-resize-filesystem`
    - the partition-growing part of `armbian-resize-filesystem` does not deal correctly with the UEFI layout
    - `growroot` is installed on UEFI images by default, that handles growing partition during initramfs
    - now `armbian-resize-filesystem` handles `resize2fs` only, and works.
- v4: reworked UEFI board/family/include structure:
    - use Distro's `linux-generic` kernel only for `current`
    - `edge` now builds it's own pure-mainline `5.15.y` kernel, for both x86 and arm64
        - `.config` taken from Ubuntu, probably needs tuning for EXTRAWIFI=yes et al
- v4: introduce `SKIP_KERNEL_SYMLINK=yes`, tested in `builddeb`
    - to avoid symlinking kernel; u-boot likes it, but grub and flash-kernel hates it
- v5: many fixes
- v7: more small fixes.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* .wip for the RaspberryPi 4B via new flash-kernel extension

- this does not build it's own kernel "yet", but uses default linux-raspi kernel from Ubuntu
- flash-kernel is not really a bootloader
    - it just prepares kernel et al a FAT partition for booting by the RPi4b bootloader
    - flash-kernel is standard Debian package, but has only been tested on Ubuntu releases
- it is really only known-working since Hirsute release.
  - Debian's rpi kernel is armhf only, so out of scope here, at least until we add source-built kernels.
- v3: fixed focal rootfs build. untested.
- v3: better variable names, preparing for source-built kernel.
- v5: new edge build with pure mainline kernel.
- v6: many fixes and some hacks for packaging and layout, also firmware (using Ubuntu's)

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* Added first patch to edge x86 related to wifi drivers

* extensions: leave hostapd alone; remove hackish ext; block reentrancy

- package-list-utils does not belong in this PR
- grub or bcm2711 is not the place to remove hostapd
- block recursive enable_extension() calls, for now.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* gen-sample-extension-docs: fix: avoid counter in generated sample

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: dependencies: enable_extension() in extensions with a stack

- and better stacktraces, I hope

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* Remove code from package list since we don't have it in repository
Adjust kernel config to disable driver that needs further polishing.

* Allow amd64 to build the same desktops as aarch64. We only have this limit for armhf, where some desktops don't work

* amd64: allow building amd64 on aarch64 with system toolchain

- conditionally add gcc-x86-64-linux-gnu to hostdeps

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* add libelf-dev directly to hostdeps (and Dockerfile), remove extension

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* packaging: remove SKIP_KERNEL_SYMLINK hack, fix the root cause

- which was the missing $image_name for non-arm64 & non-arm, so: x86 for example

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* grub: really obliterate u-boot stuff from BSP

- for now. soon we'll refactor u-boot so not have to do this

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* flash-kernel: really obliterate u-boot stuff from BSP

- for now. soon we'll refactor u-boot so not have to do this

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: add host_dependencies_ready() hook

- this passes FINAL_HOST_DEPS containing all hostdeps for the run after they're installed

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* Add verification functions for correct selection.

* If UEFI Skip symlink creation

* Do not create dtb package for amd64

* Skip scripts folder cleaning if build process native.

Skip creating  postinst prerm scripts  for headers.

* Skip applying headers-debian-byteshift.patch if build native

* Fix architecture syntax as x86_64

* Revert "amd64: allow building amd64 on aarch64 with system toolchain"

This reverts commit 0c5ee20bb1.

* Compare architectures before starting compilation.



Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>

* extensions: cleanups after fixes by the-Going

- packaging:
  - there is _no need_ anymore for the symlink hack, CONFIG_EFI or no. But check is great, see below
  - it's not `amd64` that has no DTB's, it's all UEFI, thus: `is_enabled CONFIG_EFI`, thanks!
- Explicitly disallow "reverse cross compile" in amd64.conf.
- whitespace-only-deletions: revert. we shall shellfmt the whole thing one day, but not today.
- fix a few syntax warnings in newly introduced code (floating `$ARCH` vs `"${ARCH}`) - blame shellcheck

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* packaging: fix: turns out a lot of boards have CONFIG_EFI=y, can't use that for dtb/no-dtb decision.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* grub: remove debug

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* firmware: allow installing `armbian-firmware-full`; make it really full

- can now use `BOARD_FIRMWARE_INSTALL="-full"` to install full firmware for the board. enable for UEFI.
- don't rely on KERNELSOURCE for firmware-related decisions. introduce `INSTALL_ARMBIAN_FIRMWARE` which defaults to `yes`
- rpi4b/flash-kernel: disable Armbian firmware; we need linux-firmware-raspi2, which conflicts.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: log to /${LOG_SUBPATH}/ instead of fixed /debug/

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: introduce cleanup_extension_manager() called by build-all-ng's unset_all()

- to reset/unset everything done by the the initializer, so build can run again

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: remove 'global' logging, for use with build_all_ng

- enable_extensions() will have to live on without logging to file. it's just too early.
- now init EXTENSION_MANAGER_TMP_DIR in initialize_extension_manager()
- now init EXTENSION_MANAGER_LOG_FILE in initialize_extension_manager()

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: build-all-ng.sh bugfix due to extension's debug to stdout

- extensions (among other things) can produce output to stdout when activated
- fix: check_hash() produced "idential" (sic, now changed to IDENTICAL) to stdout as a trigger
- debugging output got mixed with "idential", rendering hash cache void for families that used extensions
  - eg: sunxi, others
- fix is to send stdout to the bitbucket when sourcing the board & arch config files
- proper fix would be stop using stdout in this case and use return code for check_hash()
  - one day soon

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* Add CI build targets

Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
Co-authored-by: The-going <48602507+The-going@users.noreply.github.com>
2021-12-06 09:49:49 +01:00
Igor Pečovnik
261b91b0a8
Add box64 package from 3rd party repository (#3265)
* Add box64 package from 3rd party repository
2021-12-05 09:10:11 +01:00
Igor Pecovnik
c8d05b2a71
Additional APT sources URL should not have https by default 2021-11-16 06:44:30 +01:00
Igor Pečovnik
738975ad56
A day of building and finding troubles in desktop builds (#3259) 2021-11-15 23:30:07 +01:00
Richard Neese
f90bd10622
added 2 pkgs for monitoring system temp and other sensors (#3136)
* added 2 pkgs for monitoring system temp and other sensors

* fix typo
2021-10-09 23:38:08 +02:00
Igor Pečovnik
4caf0df095
Enable userspace virtual filesystem with gvfs-backends (#3134) 2021-09-09 22:57:13 +02:00
Igor Pečovnik
2f9c672b69
Add xarchiver to all desktop variants (#3132) 2021-09-09 22:50:28 +02:00
Igor Pečovnik
0db8c1bc63
Remove few packages from Budgie desktop to make it slimmer (#3109)
Removing fonts which seems not to play any role in functioning. Terminator font was reinstalled / checked and its all fine. Tested Focal / Hirsute.
2021-08-24 10:30:09 +02:00
Igor Pecovnik
3acc7c0f90
Typo - missing single quote in Budgie desktop wallpaper setting 2021-08-22 20:02:25 +02:00
Igor Pečovnik
ae5ec3145c
Enable 3D on remaining desktop builds and other desktop tweaks (#3104)
* Adjust build targets

* Adjust spaces and enable 3d on remaining target

* Remove scrcpy and tracker-extract in non gnome based desktops
2021-08-21 11:17:00 +02:00
Richard Neese
131d052489
rolled budgie login and desktop back to old imgs (#3095) 2021-08-21 10:43:12 +02:00
Richard Neese
a3f09b90be
removed srccpy from xfce (#3096) 2021-08-21 10:08:38 +02:00
Igor Pečovnik
91457ff216
Adjusting Cinnamon back to stock graphics (#3094)
- removing tracker-extract since its crashing and is anyway useless tool
- adjusting text to meet the real meaning
2021-08-12 20:14:29 +02:00
Richard Neese
b354ede7e2
revert xcfe to old look (#3090)
* revert xcfe to old look

* fix login screen xfce old look

* Re-add monitorVirtual-1

* There is not such icon

Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>
2021-08-11 23:03:35 +02:00
Richard Neese
9c45885554
added packages to remove that dont need to be installed (#3080)
* added packages to remove that dont need to be installed

removed gnome-software and snapd snap store.

* remove package not to be installed in builds

remove scrcpy whic installs jre nto to be installed due to resources
2021-08-08 20:16:56 +02:00
Richard Neese
ad2606dbbb
This corrects the theme issue on xfce to NumixBlue (#3077) 2021-08-04 00:46:41 +02:00
Igor Pecovnik
02e0deb23d Removing duplicates in packages and bumping with a rootfs cache id 2021-07-27 12:57:33 +02:00
Igor Pečovnik
60f7a32728
Move packages each into a separate line to make lists cleaner. Remove duplicates and sort them alphabetically (#3063)
cat packages | tr ' ' '\n' | sed '/^\s*$/d' | uniq | sort
2021-07-26 20:26:40 +02:00
Richard Neese
e3ebc15275
added enlightenment to the focal csc builds for low end devices (#3053) 2021-07-26 19:38:01 +02:00
Richard Neese
de8174021d
fix missing networking package on xfce ubuntu (#3061) 2021-07-26 19:37:33 +02:00
Richard Neese
2cf3d5c2f8
remove 2 pkgs making images to big (#3038) 2021-07-21 08:07:21 +02:00
Richard Neese
34901d83b6
Deepin update (#3026)
* fixed a typo in budgie in the create-desktop.sh

mkdir -o to mkdir -p to fix making a dir

* updating deepin to current build status

* updated package list for new packages
2021-07-17 21:52:09 +02:00
Richard Neese
b6dd6b5281
Fixing issues in Gnome wallpapers (#3025)
* fixed a typo in budgie in the create-desktop.sh

mkdir -o to mkdir -p to fix making a dir

* fixing walpapers on gnome build

fixing issue ar-855 gnome wallpapers not getting ut inplace
2021-07-17 16:30:47 +02:00
Richard Neese
f0f570f222
uninstall gdm3 so kde-plasma loads up with lightdm (#3021) 2021-07-16 17:02:28 +02:00
Richard Neese
e6d6acf770
Merge pull request #3020 from RichNeese/budgie-fonts
budgie fonts
2021-07-16 10:14:22 -04:00
Rich
b0492972b4 mate update work 2021-07-16 09:49:48 -04:00
Rich
6b68ec004a budgie fonts 2021-07-16 09:49:27 -04:00
Rich
5827eb5756 working on mate desktop update to bring onpar with other desktops 2021-07-16 06:41:05 -04:00
Rich
026d37b10a added missing noto fonts 2021-07-15 12:28:01 -04:00
Richard Neese
000bf7396c
Merge pull request #3013 from RichNeese/kde-cleaning
update kde-plasma for testing
2021-07-15 07:42:13 -04:00
Rich
8eb8e65737 update kde-plasma for testing 2021-07-15 07:41:17 -04:00
Richard Neese
8000c0cd78
Merge pull request #3009 from RichNeese/budgie-fix
Budgie fix
2021-07-14 13:13:18 -04:00
Rich
520da8e074 fixing apps browser chromium 2021-07-14 13:08:59 -04:00
Rich
f14cd0a6cd fixing chromium install issue 2021-07-14 11:17:21 -04:00
Rich
0f4ee72883 fix typo... 2021-07-13 19:37:01 -04:00
Rich
9de8530093 fixing budgie desktop 2021-07-13 18:23:52 -04:00
Rich
fb4519463f working on budgie fixes 2021-07-13 16:43:53 -04:00
Igor Pecovnik
8df3de47ae Desktops adjusting bugfix - creating missing directories 2021-07-13 10:12:59 +00:00
Richard Neese
be44bb7d61
Merge pull request #3003 from RichNeese/desktop-background-cleanup
Desktop background cleanup
2021-07-12 17:19:24 -04:00
Rich
9d12f9bce2 fix typo xfce 2021-07-12 15:37:09 -04:00
Rich
e9297bd422 fix name typo 2 2021-07-12 15:33:58 -04:00
Rich
5189606139 fix name typo 2021-07-12 15:31:08 -04:00
Rich
9982122d2c fixed typo in path 2021-07-12 13:22:40 -04:00
Rich
9b3fcdac85 fixing background issue 2021-07-12 11:24:59 -04:00
Rich
0961a19ce1 add kde-plasma csc build 2021-07-12 10:25:23 -04:00
Rich
4dc1b10311 working to split backgrounds lighdm and desktop 2021-07-12 09:38:08 -04:00
Richard Neese
1098ed436d
Merge pull request #2993 from RichNeese/updating-appsgroups
updating appgroups programming
2021-07-10 19:28:47 -04:00
Rich
328988e1b5 updating appgroups programming 2021-07-10 19:27:58 -04:00
Rich
0ea787cd5c adding lxtask to cinnamon 2021-07-10 19:02:08 -04:00