Commit graph

108 commits

Author SHA1 Message Date
Oliver Smith
0105a1d8ef
main/postmarketos-base: put full path in filenames (MR 1713)
Refactor the install code to be generic, so we only need to add the new
path in one place when adding a new file. Put the full path into the
filename to make this possible.

I've tried to mimic the final directory structure in the aport first
(e.g. $pkgdir/sbin/swapfile -> main/postmarketos-base/sbin/swapfile),
but that leads to conflicts as abuild only takes the filename for
checksums (conflict with etc/conf.d/swapfile):
https://gitlab.alpinelinux.org/alpine/abuild/-/issues/10013

We don't really need checksum verification for the files shipped in the
same directory (not downloaded), but nevertheless this is a bug. It
leads to confusing behavior and might be fixed by letting abuild demand
that there is only one source file with the same name, as I suggested in
the issue linked above. So let's avoid this altogether with the flat
file name.
2020-12-03 13:11:03 +01:00
clayton craft
c37012a909
postmarketos-base: add elogind hook to conditionally cancel suspend (MR 1665)
This hook will cancel a suspend if:
        - There's an open ssh connection to the system
        - apk database is locked
2020-11-13 00:33:31 -08:00
clayton craft
81fc6a0bed
postmarketos-base: enable rfkill service (MR 1693)
This enabled the rfkill service, part of util-linux, that saves/restores
radio device state on shutdown/boot.

fixed #836
2020-11-09 15:09:32 +01:00
Bart Ribbers
aced152afc
main/postmarketos-base: depend on dnsmasq (MR 1438)
dnsmasq is required by NetworkManager for WiFi Hotspot to work.
2020-08-23 12:31:22 +02:00
Bart Ribbers
7b58ed7fce
main/postmarketos-base: stop the power key from shutting down devices (MR 1499)
Pressing power button should not power off a device. Although it is
expected on desktops and laptops, it isn't expected on phones and
tablets. Instead it should just turn off the screen or go into a deep
sleep, but that isn't handled by elogind. So let elogind just ignore the
button altogether.

Also re-order the dependencies alphabetically while we're touching the
package anyway
2020-08-22 22:41:41 +02:00
Oliver Smith
784782f543
main/postmarketos-base: keep /etc/fstab (MR 1398)
Only add a comment, do not try to mount the root or boot partitions
anymore. The initramfs is doing this already.

Related: https://postmarketos.org/fstab
2020-07-08 18:02:49 +02:00
Oliver Smith
58ae4df2ef
main/postmarketos-base: rm write_unless_modified (MR 1398)
Get rid of the "write_unless_modified" code, which was supposed to only
change /etc/fstab, /etc/issue, /etc/motd if the user did not modify it.

This is nice in theory, but we have a bug report where the code did not
do what it should (apk audit possibly failed due to a qemu bug?), and
then it lead to strange bugs related to not having the expected
/etc/fstab installed.

Fixes: #661, #258
2020-07-08 18:02:49 +02:00
Federico Amedeo Izzo
0e502a5139
postmarketos-base: disable swclock for all devices, enable it for nokia-n900 and samsung-i9070 (MR 1166) 2020-05-23 17:57:27 +02:00
Bart Ribbers
98f9320f35
main/postmarketos-base: remove unnecessary dependencies (!1018)
These dependencies don't belong here.
- iw: should be installed by the user themselves when wanted
- nano: should be installed by the user themselves when wanted
- pulseaudio: should be installed by the UI meta packages that need it
  instead
- pulseaudio-alsa: should automatically be installed when both
  PulseAudio and alsa are installed

https://gitlab.alpinelinux.org/alpine/aports/merge_requests/4820
2020-03-03 21:39:27 +03:00
Pops Dylan
7b7c1db0ff
main/postmarketos-base: remove initstepslew from chrony configuration (!838)
Comment out the initstepslew line in /etc/chrony/chrony.conf.
initstepslew can delay booting while chrony sets the time. The
makestep 1 -1 line in the configuration also causes chrony to step
the time (whenever the offset is greater than 1s), making
initstepslew redundant.
2019-12-30 18:34:14 +01:00
Drew DeVault
32de4f4536
main/postmarketos-base: trim down dependencies (!806)
htop and tmux don't belong in this package, and dbus is a transitive
dependency via networkmanager et al, and so it doesn't need to be
specified here.
2019-12-11 17:29:07 +01:00
Pops Dylan
4c67611c90
postmarketos-base: configure getty using deviceinfo_getty variable (!771)
On some devices a getty should run on the serial console.
Configure the getty by setting the deviceinfo_getty variable. The
format is "<port>;<baud rate>". For example, "ttyS0;115200".

A post-installation trigger in postmarketos-base checks
/etc/deviceinfo, and modifies /etc/inittab if the device should run
a getty.
2019-12-07 01:32:23 +01:00
Danct12
0cff86852d
main/postmarketos-base: networkmanager permission fix (!777)
This patch fixes nmtui and nm-applet not authorized to control
networking.

Signed-off-by: Danct12 <danct12@disroot.org>
2019-12-05 22:53:30 +01:00
Bart Ribbers
5e3a2dd7a6
main/postmarketos-base: add pulseaudio and pulseaudio-alsa to enable audio (!621) 2019-09-20 15:41:25 +02:00
Oliver Smith
17292f4f5e
main/postmarketos-base: fix wpa_supplicant config (!365)
Fix wifi on htc-ace by properly setting nl80211 before wext.

/etc/conf.d/wpa_supplicant is supposed to get modified twice with the
current code in the post-install file. The first one was patched
recently to set nl80211 before wext, but that change does not work in
practice, for two reasons:

1. The code block does not even get executed, because apk reports that
   /etc/conf.d/wpa_supplicant was already modified (by a package that
   was installed before, in its post-install script? I could not find
   out which one does that though).
2. Even if it worked, the second code block would revert the change and
   put wext before nl80211 again.

Fix this by removing the first code block, and changing the order in the
second one. Make it easier to catch such errors in the future, by
printing, which files get modified, or get skipped. Set "#!/bin/sh -e",
so the script can not fail silently.

When doing pmbootstrap -y zap and then pmbootstrap install, the output
looks like this:

(141/151) Installing postmarketos-base (3-r26)
Executing postmarketos-base-3-r26.post-install
- Modifying: /etc/fstab
- Modifying: /etc/issue
- Modifying: /etc/motd
- Modifying: /etc/conf.d/syslog
- Modifying: /etc/conf.d/wpa_supplicant
- Modifying: /etc/sudoers
- Modifying: /etc/chrony/chrony.conf
2019-06-30 02:00:08 +02:00
Danct12
aff352d9c3
main/postmarketos-base: ignore confusing p2p0 interface (!344)
On some devices (mainly the ones that uses wcnss-wlan), there is another
interface beside wlan0, which is p2p0. It is used for Wi-Fi Direct, but
beside that, this might also cause confusion to other users as well. And
also you cannot connect into any network with this interface.
2019-05-14 22:24:26 +02:00
Alexey Min
6818cd6bac postmarketos-base: add deferred-initcalls openrc service (!338)
This script triggers late initialization of some platform
drivers that cannot be probed at boot time, because for
example they use firmware blobs on partitions that are
not mounted during early kernel startup.

Disabled by default, can be enabled on per-device basis.
2019-05-02 21:07:31 +00:00
Luca Weiss
40d110fcc9 Change default NetworkManager DHCP client to dhcpcd (!278)
Remove the override in ouya-ouya (and in postmarketos-base) and add an
override for raspbery-pi3

Fixes #210
2019-03-29 14:53:47 +01:00
Matthias Berndt
83bdddad4c
postmarketos-base: nl80211 before wext in wpa_supplicant (!264)
Fixes wifi on htc-vision.
2019-03-09 22:33:33 +01:00
Robert Yang
e76bd07487 postmarketos-base: Make NetworkManager conf more easily overridable (!260)
Later conf files override earlier ones. With this change, device specific
packages can ship their own NetworkManager configs that override the
postmarketos config.

Example: 10-samsung-p4wifi.conf would override 00-postmarketos.conf
2019-03-07 11:09:05 -05:00
Matthias Berndt
f0f6db1bae
pmos-base: skip failures in devmappings.initd (!164)
Continue even if some kpartx commands fail. This is necessary for the
htc vision and perhaps other devices.
2019-01-22 07:30:44 +01:00
Robert Yang
6d25c1bef6 postmarketos-base: Add openrc service that creates partition mappings (!115)
When util-linux v2.32 updated v2.33, remounting a partition stopped
working.

  mount -n -o remount,rw /
  mount: /: can't find LABEL="pmOS_root".

This service will add the pmOS rootfs partitions to device mapper so that
the remount root partition will succeed.

Fixes issue #156
2018-12-26 12:08:36 -05:00
Oliver Smith
c2f57b050e
bump pkgrel 2018-11-27 07:47:11 +01:00
Sebastian Fleer
e7f828b07f
networkmanager: use built in dhcp client
Network Manager does not support dhcpcd with IPv6. Fixes issue #45
2018-11-27 07:47:11 +01:00
Oliver Smith
a31244d28a Remove github.com references
* Travis and Coveralls badges
* aports: instead of <https://github.com/postmarketOS>, use
  <https://postmarketos.org>
* References to full URLs to issues and pull requests replaced with
  a hash and the number
* grsec check: simplify error message, remove link to github issue
  (nobody is using that anymore anyway)
2018-06-30 09:00:48 +02:00
Bhushan Shah
0e3f710b86 main/postmarketos-base: Disable randomizing mac address while scanning
While this feature is nifty, it doesn't really work with most mobile
wireless drivers. Wireless drivers decide to go in "weird" state when
the mac address changes at runtime.

I remember talking to someone in IRC about this and getting it disabled.
not sure how this ended up here.

See: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1681513

This option is not working with most of the wireless drivers normally.
For example e.g it doesn't really play nice with one of my laptop's
wireless driver.
2018-06-25 22:53:22 +02:00
Oliver Smith
340a17d98f Set all of user's groups in "pmbootstrap install" (#1432)
The postmarketos-base package used to make the user part of the "video"
and "audio" groups. However, this did not work reliably, and we were
adding the "wheel" group in "pmbootstrap install" anyway.

Now all groups get added in "pmbootstrap install", and the names of the
groups have been moved to `pmb.config.install_user_groups`.
2018-04-23 20:52:03 +00:00
Daniele Debernardi
19df13804c Remove /etc/network/interfaces and networking service from device packages (#1293)
This is not necessary anymore since there is now NetworkManager.
2018-03-05 21:18:13 +00:00
Martijn Braam
6caeba319e postmarketos-base: Enable NetworkManager by default (#388) 2018-03-04 11:07:21 +00:00
Oliver Smith
e654a995e6 device packages: depend on postmarketos-base (#1258)
* device-*: add postmarketos-base to depends
* aportgen: add postmarketos-base to depends
* Add test case
* postmarketos-base: Don't depend on devicepkg
* msm-fb-refresher: Enable service in post-install
2018-02-25 18:40:54 +00:00
Pierre Rudloff
0685ccaee7 gp-peak: Add support for osk-sdl and audio (#1243)
* gp-peak: Add support for osk-sdl
* gp-peak: Move non-kernel files to device-gp-peak
* gp-peak: Add audio support
Manually trigger the udev rules for audio devices and add the default user to the audio group
2018-02-22 23:36:24 +00:00
Pierre Rudloff
eb6ab4c641 gp-peak: display and touch screen (#1226)
Adds a /etc/local.d/ script in order to work around
udev being broken with this kernel.
2018-02-18 01:42:46 +00:00
clayton craft
a6c9c353ff Install dbus by default (#783)
Since we are starting it on boot, and wpa_supplicant is being run in 'dbus mode', it makes sense to have it installed by default.
2017-10-18 19:02:28 +00:00
Oliver Smith
8d927d43bb postmarketos-base-x11: Less dependencies (#720) 2017-10-14 23:14:19 +00:00
clayton craft
1d702fd28f Fix #588: Add chrony ntp client & timezone config (#674)
This adds chrony as the ntp client (starting on boot), and also adds a
prompt in the init step for configuring the timezone.
2017-10-13 19:18:24 +00:00
Pablo Castellano
114fdc0a68 Close #709: Improve user creation (#725)
* Allow to specify a custom username in "pmbootstrap init"
* Build chroots have "pmos" instead of "user" as username now
* Installation user UID is 1000 now (as in all other Linux distributions)
* Adjust autologins
* postmarketos-base: enable wheel group for sudo, removed previous sudoers file
* Implement safe upgrade path:
We save the version of the work folder format now, in $WORK/version.
When this file does not exist, it defaults to 0.
In case it does not match the currently required version
(pmb.config.work_version), then ask the user if it should
automatically be upgraded.
2017-10-12 20:08:10 +00:00
Oliver Smith
d1ef0ded0e Fix #731: Create symlinks for noarch-subpackages (#740)
* apkindex:
  * Also parse the architecture field
* symlink_noarch_package:
  * Renamed to symlink_noarch_packages
  * Always work on all packages (so we don't need to guess which
    subpackages have been generated after a certain build)
  * Get invoked when running 'pmbootstrap index'
  * Use 'apk index' to generate one index, where the architecture
    does not get rewritten (abuild does that by default, due to
    Alpine's repos not having a 'noarch' folder and diverging from
    that doesn't make things easier for us). That goes super fast,
    and then we know which packages are noarch packages and can
    create the symlinks.
* Made output less verbose:
  * Use -q for 'apk index' when calling it directly (when it gets
    called by abuild we can't control that)
  * Output that the APKINDEXes get reindexed only to the 'pmbootstrap
    log'.
2017-10-11 15:11:25 +00:00
clayton craft
caf386d8ec Set swclock to use recent date/time on first boot (#723) 2017-10-09 19:10:28 +00:00
drebrez
d82e8f7199 Fix #199: Run weston with user instead of root (#707) 2017-10-07 16:14:49 +00:00
Oliver Smith
8d2a1a417d Automatically install X11 and mesa dependencies (using install_if) (#696)
* device-qemu-amd64: subpackages for x11 and mesa
* postmarketos-base: add x11 subpackage
2017-10-06 18:19:47 +00:00
Pavel Machek
edbe7f92d7 Fix #669: Only do useradd via Python, properly install /etc/skel defaults (#685) 2017-10-03 18:10:28 +00:00
clayton craft
775ba6ad36 Fix console blanking (#676)
So I was wrong.. /etc/issue needs to contain the escape sequence output
by setterm,  not the actual call to setterm itself. My previous testing
of this was faulty, which led me to believe the previous implementation
of this would work.
2017-10-02 22:41:19 +00:00
clayton craft
08ada9641d Fix #570: postmarketos-base: Start swclock service on boot (#660)
This service will set system time from the mtime of a file written on shutdown.
2017-10-01 00:51:32 +00:00
clayton craft
c30957ca67 Fix #193: Enable console screen blanking (#661)
This enables console screen blanking/powersaving by default. Without it, the screen will stay on indefinitely, killing battery life and/or prolonging charge time. UIs should be able to override this with dpms (e.g. xset). I arbitrarily chose 5 min as the blank time.
2017-09-30 22:41:45 +00:00
Attila Szöllősi
41fcf67bc5 postmarketos-base: Write /boot to /etc/fstab (#653)
Also removed fstab entry from nokia-rx51 post-install script.
2017-09-30 21:52:33 +00:00
Oliver Smith
09afa1f853 postmarketos-base: Execute setup-udev, remove mosh from dependencies (#647)
* postmarketos-base: Execute setup-udev, remove mosh from dependencies

* Run setup-udev [0], because that is what `setup-xorg-base` does [1].
It configures more than one OpenRC service and it also messes with the
runlevels. Only after running that, Hildon works (tested in Qemu).

[0]: 2fbea8b8da/main/eudev/setup-udev
[1]: 06300dd483/setup-xorg-base.in (L25)

* Remove `mosh` from `postmarketos-base` dependencies. I don't think anyone
uses it right now, and it's easy to add custom packages in `pmbootstrap init`
nowadays.

* Minor style changes in the `APKBUILD`
* [rx51] Remove udev-trigger service start
2017-09-29 16:10:09 +00:00
clayton craft
174cfcd7eb Enable dbus service by default (#628)
Quite a few things use dbus (plasma, hildon, ofono, connman,
networkmanager, etc) that I think it makes sense to just have this
started by default in pmOS rather than have every device package
implement this on their own.

In case someone shows up with a use-case, where dbus by default
is not desired, please speak up. Possible solutions are in #628.
2017-09-25 20:33:04 +00:00
Luca Weiss
3ecfa09d8e postmarketos-base: Update wiki link (#607) 2017-09-21 19:56:59 +00:00
clayton craft
28595f72ef Close #574: swap file support/encrypted swap on rx51 (#585)
This adds a custom swap file service, which allows specifying a
recommended swap size in the deviceinfo file via
`deviceinfo_swap_size_recommended`. For the N900 this defaults
to 1024 MB now. As the swap file is created in the root partition,
we have encrypted swap now (unless encryption is disabled with
`--no-fde`).
2017-09-20 18:32:19 +00:00
clayton craft
1bef78c6df Add msm-fb-refresher package and initfs config (#587)
* Add msm-fb-refresher package and initfs config
* Bump version for pmos-mkinitfs
* Create msm-fb-refresher openrc service
* kill refresher when initfs is done
2017-09-18 19:17:30 +00:00
clayton craft
d842513f5c [postmarketos-base] Fix typo in sed statement (#586) 2017-09-16 00:01:25 +00:00
clayton craft
e473a6cf3f Fix wpa_supplicant configuration (#578) 2017-09-15 17:44:50 +00:00
Oliver Smith
2d53dcac33 Close #147: postmarketos-base: added udev rule / firmwareload.sh (#427)
See also:
https://github.com/postmarketOS/pmbootstrap/pull/374
2017-08-20 12:49:55 +00:00
clayton craft
c08ac45efd Fix #396: No root autologin except for weston (#407)
This commit disables root autologin for postmarketos-base and enabled
root autologin for postmarketos-ui-weston (since weston-launcher is not
built, weston can only be run by root).
2017-08-18 15:55:30 +00:00
Oliver Smith
7ea77e7215 Fix checksum of postmarketos-base 2017-07-30 16:15:51 +02:00
clayton craft
ea6d952978 Fix #288: Checksum *-install scripts in APKBUILDs (#294)
Per the APKBUILD reference, , package *-install scripts should be checksummed to guard against incomplete/corrupt downloads. The postmarketos-base package is one example where this is not being implemented currently.
2017-07-30 13:38:31 +00:00
clayton craft
88c753e5ae Move wpa_supplicant to default runlevel (#286)
Having it in boot doesn't actually work, the service is being started
too early and fails. This change moves it to the default runlevel. This
change also removes "wifi-handler" since that service doesn't actually
exist.
2017-07-30 13:19:43 +00:00
Oliver Smith
3e140ea690 Close #194: Aports subfolders! See migration guide in the wiki (#227)
Migration guide:
https://github.com/postmarketOS/pmbootstrap/wiki/Migration-to-aports-subfolders
2017-07-28 22:34:40 +00:00
Renamed from postmarketos-base/APKBUILD (Browse further)