X-Git-Url: http://git.plutz.net/?p=blast;a=blobdiff_plain;f=modules%2Fdefault.mk;h=326344006abffc2bdd6497bdd9b3ed7f5cef2c42;hp=4cbc7eaa1d0a8f36bf6f14d28694089452e6f5c6;hb=34a051307470e9b8efe29525e95832b52891ad4c;hpb=4a83f36e36d09bfca93a9f3b2cb55e08d5d13169 diff --git a/modules/default.mk b/modules/default.mk index 4cbc7ea..3263440 100644 --- a/modules/default.mk +++ b/modules/default.mk @@ -1,16 +1,17 @@ ifdef imagesize -ROOT_MB := $(shell printf '%i\n' "$$(( ${imagesize} - ${BOOT_MB} - 3 ))") + ROOT_MB := $(shell printf '%i\n' "$$(( ${imagesize} - ${BOOT_MB} - 3 ))") endif -PACKAGES := ${PACKAGES} btrfs-tools bzip2 ca-certificates cron deborphan firmware-linux-free gzip htop ifupdown iputils-ping irqbalance isc-dhcp-client less make net-tools nmap ntpdate openssh-client psmisc rsync sshfs sudo traceroute unzip vim wget wireless-tools wpasupplicant xz-utils zip +PACKAGES += btrfs-tools bzip2 ca-certificates cron deborphan firmware-linux-free gzip htop ifupdown iputils-ping irqbalance isc-dhcp-client less make net-tools nmap ntpdate openssh-client psmisc rsync sshfs sudo traceroute unzip vim wget wireless-tools wpasupplicant xz-utils zip ifdef packages -PACKAGES := ${PACKAGES} $(subst ${comma_},${space_},${packages}) + PACKAGES += $(subst ${comma_},${space_},${packages}) endif export DEBCONF define DEBCONF := + keyboard-configuration keyboard-configuration/model select Generic 105-key (Intl) PC keyboard-configuration keyboard-configuration/variant select English (US) - English (Macintosh) endef @@ -23,65 +24,77 @@ _debconf_selections: ${SYSROOT} .PHONY: _timezone _locales ifdef timezone -define DEBCONF := -${DEBCONF} -tzdata tzdata/Areas select $(firstword $(subst /,${space_},${timezone})) -tzdata tzdata/Zones/Europe select $(lastword $(subst /,${space_},${timezone})) -endef -PACKAGES := ${PACKAGES} tzdata -_config: _timezone + export timezone + PACKAGES += tzdata + _config: _timezone endif ifdef locales -define DEBCONF := -${DEBCONF} -locales locales/locales_to_be_generated multiselect ${locales} -locales locales/default_environment_locale select $(firstword $(subst ${comma_},${space_},${locales})) -endef -#$(addsuffix ${space_}UTF-8,$(subst ${comma_},${space_}${comma},${locales})) -PACKAGES := ${PACKAGES} locales -_config: _locales + PACKAGES += locales + _config: _locales endif _timezone: ${CFGROOT} - rm "$${CFGROOT}/etc/timezone" - chroot "$${CFGROOT}" dpkg-reconfigure --default-priority -u tzdata + printf '%s\n' "$${timezone}" >"$${CFGROOT}/etc/timezone" + ln -sf /usr/share/zoneinfo/"$${timezone}" "$${CFGROOT}/etc/localtime" _locales: ${CFGROOT} - rm "$${CFGROOT}/etc/default/locale" "$${CFGROOT}/etc/locale.gen" - chroot "$${CFGROOT}" dpkg-reconfigure --default-priority -u locales + for l in $(subst ${comma_},${space_},${locales}); do \ + printf '%s %s\n' "$${l}" "$${l#*.}"; \ + done >"$${CFGROOT}/etc/locale.gen" + printf 'LANG=%s\n' "$(firstword $(subst ${comma_},${space_},${locales}))" >"$${CFGROOT}/etc/default/locale" + chroot "$${CFGROOT}" locale-gen -.PHONY: _rootpass _users +.PHONY: _rootpass _users _hostname ifdef rootpass -export rootpass -_config: _rootpass + export rootpass + _config: _rootpass +endif + +ifdef rootkey + export rootkey + _config: _rootkey endif ifdef users -_config: _users + _config: _users +endif + +ifdef hostname + export hostname + _config: _hostname endif _rootpass: ${CFGROOT} chroot "$${CFGROOT}" usermod -p "$$(openssl passwd "$${rootpass}")" root +${rootkey}.pub: + ssh-keygen -N '' -f "$${rootkey}" + +_rootkey: ${CFGROOT} ${rootkey}.pub + mkdir -m 700 "$${CFGROOT}/root/.ssh/" + cp "$${rootkey}.pub" "$${CFGROOT}/root/.ssh/authorized_keys" + _users: ${CFGROOT} - #sed -Ei 's;^SHELL=/bin/sh$$;SHELL=/bin/bash;;' "${CFGROOT}/etc/default/useradd" for u in $(subst ${comma_},${space_},${users}); do \ chroot "$${CFGROOT}" useradd -m -s /bin/bash -p "$$(openssl passwd "")" "$$u"; \ done +_hostname: ${CFGROOT} + printf '%s\n' "$${hostname}" "$${CFGROOT}/etc/hostname" + ifdef wifi -ifdef wifipass -export wifi wifipass -${CFGROOT}/etc/network/interfaces.d/wifi: ${CFGROOT} + _config: ${CFGROOT}/etc/network/interfaces.d/wifi + ifdef wifipass + export wifi wifipass + ${CFGROOT}/etc/network/interfaces.d/wifi: ${CFGROOT} printf 'auto wlan0\nallow-hotplug wlan0\n\niface wlan0 inet dhcp\n' >$@ printf ' wpa-ssid "%s"\n wpa-psk "%s"\n' "$$wifi" "$$wifipass" >>$@ -else -export wifi -${CFGROOT}/etc/network/interfaces.d/wifi: ${CFGROOT} + else + export wifi + ${CFGROOT}/etc/network/interfaces.d/wifi: ${CFGROOT} printf 'auto wlan0\nallow-hotplug wlan0\n\niface wlan0 inet dhcp\n' >$@ printf ' wireless-ssid "%s"\n' "$$wifi" >>$@ -endif -_config: ${CFGROOT}/etc/network/interfaces.d/wifi + endif endif