From aca245b29d7c8cc6f1b95cdd15081dd9dea92b72 Mon Sep 17 00:00:00 2001 From: ElXreno Date: Tue, 22 Oct 2019 09:07:25 +0300 Subject: [PATCH 1/7] Working on Fedora 30 --- include/bootstrap/fedora/deploy.sh | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/include/bootstrap/fedora/deploy.sh b/include/bootstrap/fedora/deploy.sh index 2a66003..ce8353b 100644 --- a/include/bootstrap/fedora/deploy.sh +++ b/include/bootstrap/fedora/deploy.sh @@ -2,7 +2,7 @@ # Linux Deploy Component # (c) Anton Skshidlevsky , GPLv3 -[ -n "${SUITE}" ] || SUITE="28" +[ -n "${SUITE}" ] || SUITE="30" if [ -z "${ARCH}" ] then @@ -52,7 +52,7 @@ do_install() msg ":: Installing ${COMPONENT} ... " - local core_packages="audit-libs basesystem bash bash-completion bzip2-libs ca-certificates chkconfig coreutils cpio cracklib crypto-policies cryptsetup-libs curl cyrus-sasl-lib dbus dbus-libs device-mapper-libs dnf dnf-conf dnf-plugins-core dnf-yum elfutils-libelf elfutils-libs expat fedora-gpg-keys fedora-release fedora-repos file-libs filesystem gawk gdbm glib2 glibc glibc-common gmp gnupg2 gnutls gobject-introspection gpgme grep gzip info iptables-libs json-c keyutils-libs kmod-libs krb5-libs libacl libarchive libargon2 libassuan libattr libblkid libcap libcap-ng libcom_err libcomps libcurl libdb libdb-utils libdnf libffi libgcc libgcrypt libgpg-error libidn2 libmetalink libmodulemd libmount libnghttp2 libnsl2 libpcap libpsl libpwquality librepo libreport-filesystem libseccomp libselinux libsemanage libsepol libsigsegv libsmartcols libsolv libssh libtasn1 libtirpc libunistring libutempter libuuid libverto libxcrypt libxml2 libyaml libzstd lua-libs lz4-libs mpfr ncurses ncurses-base ncurses-libs nettle nspr nss nss-softokn nss-softokn-freebl nss-sysinit nss-util openldap openssl-libs p11-kit p11-kit-trust pam pcre pcre2 popt python3 python3-dnf python3-dnf-plugins-core python3-gobject-base python3-gpg python3-hawkey python3-iniparse python3-libcomps python3-librepo python3-libs python3-pip python3-rpm python3-setuptools python3-six python3-smartcols qrencode-libs readline rootfiles rpm rpm-build-libs rpm-libs rpm-plugin-selinux sed setup shadow-utils sqlite-libs sudo systemd systemd-libs tzdata util-linux vim-minimal which xz-libs zlib" + local core_packages="acl alternatives audit-libs basesystem bash brotli bzip2-libs ca-certificates coreutils cracklib crypto-policies cryptsetup-libs curl cyrus-sasl-lib dbus dbus-tools dbus-broker dbus-common device-mapper device-mapper-libs dnf dnf-data dnf-yum elfutils-default-yama-scope elfutils-libelf elfutils-libs expat fedora-gpg-keys fedora-release fedora-release-container fedora-repos file-libs filesystem gawk gdbm-libs generic-release generic-release-common glib2 glibc glibc-common glibc-minimal-langpack gmp gnupg2 gnutls gpgme grep gzip ima-evm-utils iptables-libs json-c keyutils-libs kmod-libs krb5-libs libacl libarchive libargon2 libassuan libattr libblkid libcap libcap-ng libcom_err libcomps libcurl libcurl-minimal libdb libdb-utils libdnf libfdisk libffi libgcc libgcrypt libgomp libgpg-error libidn2 libksba libmetalink libmodulemd libmodulemd1 libmount libnghttp2 libnsl2 libpcap libpsl libpwquality librepo libreport-filesystem libseccomp libselinux libsemanage libsepol libsigsegv libsmartcols libsolv libssh libsss_idmap libsss_nss_idmap libstdc++ libtasn1 libtirpc libunistring libusbx libutempter libuuid libverto libxcrypt libxml2 libyaml libzstd lua-libs lz4-libs mpfr ncurses ncurses-base ncurses-libs nettle npth openldap openssl openssl-libs p11-kit p11-kit-trust pam pcre pcre2 popt publicsuffix-list-dafsa python3 python3-dnf python3-gpg python3-hawkey python3-libcomps python3-libdnf python3-libs python3-rpm python-pip-wheel python-setuptools-wheel qrencode-libs readline rootfiles rpm rpm-build-libs rpm-libs rpm-sign-libs sed setup shadow-utils sqlite-libs sssd-client sudo systemd systemd-libs systemd-pam systemd-rpm-macros tss2 tzdata util-linux vim-minimal xz-libs zchunk-libs zlib" local repo_url if [ "${ARCH}" = "i386" ] @@ -111,12 +111,16 @@ do_install() component_exec core/mnt core/net - msg -n "Updating repository ... " - yum_repository - is_ok "fail" "done" + # msg -n "Updating repository ... " + # yum_repository + # is_ok "fail" "done" + + msg -n "Setting up dnf excludes ... " + chroot_exec /bin/echo "\nkernel* dosfstools e2fsprogs fuse-libs gnupg2-smime libss pinentry shared-mime-info trousers xkeyboard-config grubby glibc-langpack-en cracklib-dicts" > /etc/dnf/dnf.conf + s_ok "fail" "done" msg "Installing minimal environment: " - dnf_install @minimal-environment --exclude filesystem,openssh-server + dnf_install @minimal-environment --exclude=kernel,dosfstools,e2fsprogs,fuse-libs,gnupg2-smime,libss,pinentry,shared-mime-info,trousers,xkeyboard-config,grubby,glibc-langpack-en,cracklib-dicts is_ok || return 1 if [ -n "${EXTRA_PACKAGES}" ]; then @@ -125,6 +129,10 @@ do_install() is_ok || return 1 fi + msg -n "Cleaning up dnf cache ... " + chroot_exec dnf clean all + s_ok "fail" "done" + return 0 } From f041d4befd0292b527abaf6994c35c1115dc0bc8 Mon Sep 17 00:00:00 2001 From: ElXreno Date: Wed, 30 Oct 2019 09:27:50 +0300 Subject: [PATCH 2/7] Complete Fedora F30 setup --- include/bootstrap/fedora/deploy.sh | 56 +++++++++++------------------- include/desktop/dbus/deploy.sh | 2 +- 2 files changed, 21 insertions(+), 37 deletions(-) diff --git a/include/bootstrap/fedora/deploy.sh b/include/bootstrap/fedora/deploy.sh index ce8353b..5c04218 100644 --- a/include/bootstrap/fedora/deploy.sh +++ b/include/bootstrap/fedora/deploy.sh @@ -2,6 +2,7 @@ # Linux Deploy Component # (c) Anton Skshidlevsky , GPLv3 +# 31 doesn't support while rpm2cpio in busybox doesn't support zstd [ -n "${SUITE}" ] || SUITE="30" if [ -z "${ARCH}" ] @@ -14,45 +15,25 @@ then esac fi -[ -n "${SOURCE_PATH}" ] || SOURCE_PATH="http://dl.fedoraproject.org/pub/archive/" +[ -n "${SOURCE_PATH}" ] || SOURCE_PATH="http://192.168.1.10/pub/fedoraproject.org" dnf_install() { local packages="$@" [ -n "${packages}" ] || return 1 (set -e - chroot_exec -u root dnf --nogpgcheck -y install ${packages} - chroot_exec -u root dnf clean packages + chroot_exec -u root dnf -y install ${packages} exit 0) return $? } -yum_repository() -{ - find "${CHROOT_DIR}/etc/yum.repos.d/" -name '*.repo' | while read f; do sed -i 's/^enabled=.*/enabled=0/g' "${f}"; done - local repo_file="${CHROOT_DIR}/etc/yum.repos.d/fedora-${SUITE}-${ARCH}.repo" - local repo_url - if [ "${ARCH}" = "i386" ] - then repo_url="${SOURCE_PATH%/}/fedora-secondary/releases/${SUITE}/Everything/${ARCH}/os" - else repo_url="${SOURCE_PATH%/}/fedora/linux/releases/${SUITE}/Everything/${ARCH}/os" - fi - echo "[fedora-${SUITE}-${ARCH}]" > "${repo_file}" - echo "name=Fedora ${SUITE} - ${ARCH}" >> "${repo_file}" - echo "failovermethod=priority" >> "${repo_file}" - echo "baseurl=${repo_url}" >> "${repo_file}" - echo "enabled=1" >> "${repo_file}" - echo "metadata_expire=7d" >> "${repo_file}" - echo "gpgcheck=0" >> "${repo_file}" - chmod 644 "${repo_file}" -} - do_install() { is_archive "${SOURCE_PATH}" && return 0 msg ":: Installing ${COMPONENT} ... " - local core_packages="acl alternatives audit-libs basesystem bash brotli bzip2-libs ca-certificates coreutils cracklib crypto-policies cryptsetup-libs curl cyrus-sasl-lib dbus dbus-tools dbus-broker dbus-common device-mapper device-mapper-libs dnf dnf-data dnf-yum elfutils-default-yama-scope elfutils-libelf elfutils-libs expat fedora-gpg-keys fedora-release fedora-release-container fedora-repos file-libs filesystem gawk gdbm-libs generic-release generic-release-common glib2 glibc glibc-common glibc-minimal-langpack gmp gnupg2 gnutls gpgme grep gzip ima-evm-utils iptables-libs json-c keyutils-libs kmod-libs krb5-libs libacl libarchive libargon2 libassuan libattr libblkid libcap libcap-ng libcom_err libcomps libcurl libcurl-minimal libdb libdb-utils libdnf libfdisk libffi libgcc libgcrypt libgomp libgpg-error libidn2 libksba libmetalink libmodulemd libmodulemd1 libmount libnghttp2 libnsl2 libpcap libpsl libpwquality librepo libreport-filesystem libseccomp libselinux libsemanage libsepol libsigsegv libsmartcols libsolv libssh libsss_idmap libsss_nss_idmap libstdc++ libtasn1 libtirpc libunistring libusbx libutempter libuuid libverto libxcrypt libxml2 libyaml libzstd lua-libs lz4-libs mpfr ncurses ncurses-base ncurses-libs nettle npth openldap openssl openssl-libs p11-kit p11-kit-trust pam pcre pcre2 popt publicsuffix-list-dafsa python3 python3-dnf python3-gpg python3-hawkey python3-libcomps python3-libdnf python3-libs python3-rpm python-pip-wheel python-setuptools-wheel qrencode-libs readline rootfiles rpm rpm-build-libs rpm-libs rpm-sign-libs sed setup shadow-utils sqlite-libs sssd-client sudo systemd systemd-libs systemd-pam systemd-rpm-macros tss2 tzdata util-linux vim-minimal xz-libs zchunk-libs zlib" + local core_packages="acl alternatives audit-libs basesystem bash brotli bzip2-libs ca-certificates coreutils coreutils-common cracklib crypto-policies cryptsetup-libs curl cyrus-sasl-lib dbus dbus-broker dbus-common device-mapper device-mapper-libs dnf dnf-data dnf-yum elfutils-default-yama-scope elfutils-libelf elfutils-libs expat fedora-gpg-keys fedora-release fedora-release-common fedora-repos file-libs filesystem findutils gawk gdbm-libs glib2 glibc glibc-common glibc-minimal-langpack gmp gnupg2 gnutls gpgme grep gzip ima-evm-utils iptables-libs json-c keyutils-libs kmod-libs krb5-libs libacl libarchive libargon2 libassuan libattr libblkid libcap libcap-ng libcom_err libcomps libcurl libdb libdb-utils libdnf libfdisk libffi libgcc libgcrypt libgpg-error libidn2 libksba libmetalink libmodulemd1 libmount libnghttp2 libnsl2 libpcap libpsl libpwquality librepo libreport-filesystem libseccomp libselinux libsemanage libsepol libsigsegv libsmartcols libsolv libssh libsss_idmap libsss_nss_idmap libstdc++ libtasn1 libtirpc libunistring libusbx libutempter libuuid libverto libxcrypt libxml2 libyaml libzstd lua-libs lz4-libs mpfr ncurses ncurses-base ncurses-libs nettle npth openldap openssl-libs p11-kit p11-kit-trust pam pcre pcre2 popt publicsuffix-list-dafsa python3 python3-dnf python3-gpg python3-hawkey python3-libcomps python3-libdnf python3-libs python3-rpm python-pip-wheel python-setuptools-wheel qrencode-libs readline rootfiles rpm rpm-build-libs rpm-libs rpm-sign-libs sed setup shadow-utils sqlite-libs sssd-client sudo systemd systemd-libs systemd-pam systemd-rpm-macros tar tzdata util-linux vim-minimal xz-libs zchunk-libs zlib" local repo_url if [ "${ARCH}" = "i386" ] @@ -111,17 +92,24 @@ do_install() component_exec core/mnt core/net - # msg -n "Updating repository ... " - # yum_repository - # is_ok "fail" "done" + # TODO: Remove this before creating PR + msg -n "Replacing urls to local mirror ..." + chroot_exec /usr/bin/find /etc/yum.repos.d/ -name "*.repo" -type f -exec /usr/bin/sed -i 's/#baseurl=https\?:\/\/download.fedoraproject.org\/pub/baseurl=http:\/\/192.168.1.10\/pub\/fedoraproject.org/g' {} \; + is_ok "fail" "done" - msg -n "Setting up dnf excludes ... " - chroot_exec /bin/echo "\nkernel* dosfstools e2fsprogs fuse-libs gnupg2-smime libss pinentry shared-mime-info trousers xkeyboard-config grubby glibc-langpack-en cracklib-dicts" > /etc/dnf/dnf.conf - s_ok "fail" "done" + # TODO: Remove this before creating PR + msg -n "Disabling metalink ..." + chroot_exec /usr/bin/find /etc/yum.repos.d/ -name "*.repo" -type f -exec /usr/bin/sed -i 's/metalink=/#metalink=/g' {} \; + is_ok "fail" "done" - msg "Installing minimal environment: " - dnf_install @minimal-environment --exclude=kernel,dosfstools,e2fsprogs,fuse-libs,gnupg2-smime,libss,pinentry,shared-mime-info,trousers,xkeyboard-config,grubby,glibc-langpack-en,cracklib-dicts - is_ok || return 1 + msg -n "Setting dnf excludes ..." + echo "exclude=kernel* *-firmware grubby" >> "${CHROOT_DIR}"/etc/dnf/dnf.conf + is_ok "fail" "done" + + # TODO: Think about it before creating PR + msg -n "Upgrading packages ..." + chroot_exec -u root dnf -y upgrade --refresh + is_ok "fail" "done" if [ -n "${EXTRA_PACKAGES}" ]; then msg "Installing extra packages: " @@ -129,10 +117,6 @@ do_install() is_ok || return 1 fi - msg -n "Cleaning up dnf cache ... " - chroot_exec dnf clean all - s_ok "fail" "done" - return 0 } diff --git a/include/desktop/dbus/deploy.sh b/include/desktop/dbus/deploy.sh index 55e4d7d..7892d3b 100644 --- a/include/desktop/dbus/deploy.sh +++ b/include/desktop/dbus/deploy.sh @@ -16,7 +16,7 @@ do_install() pacman_install ${packages} ;; fedora:*) - packages="dbus" + packages="dbus dbus-tools" dnf_install ${packages} ;; centos:*) From 1f255da98b6aa387a0b3be289a2b75e951e73e30 Mon Sep 17 00:00:00 2001 From: ElXreno Date: Wed, 6 Nov 2019 22:29:14 +0300 Subject: [PATCH 3/7] Update Fedora link --- include/bootstrap/fedora/deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/bootstrap/fedora/deploy.sh b/include/bootstrap/fedora/deploy.sh index 5c04218..f350e07 100644 --- a/include/bootstrap/fedora/deploy.sh +++ b/include/bootstrap/fedora/deploy.sh @@ -15,7 +15,7 @@ then esac fi -[ -n "${SOURCE_PATH}" ] || SOURCE_PATH="http://192.168.1.10/pub/fedoraproject.org" +[ -n "${SOURCE_PATH}" ] || SOURCE_PATH="http://dl.fedoraproject.org/pub" dnf_install() { From dc64cab93b1762a1abea68a105b12bb8f55dec96 Mon Sep 17 00:00:00 2001 From: ElXreno Date: Wed, 6 Nov 2019 22:31:41 +0300 Subject: [PATCH 4/7] Clean up --- include/bootstrap/fedora/deploy.sh | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/include/bootstrap/fedora/deploy.sh b/include/bootstrap/fedora/deploy.sh index f350e07..6a74c20 100644 --- a/include/bootstrap/fedora/deploy.sh +++ b/include/bootstrap/fedora/deploy.sh @@ -92,21 +92,10 @@ do_install() component_exec core/mnt core/net - # TODO: Remove this before creating PR - msg -n "Replacing urls to local mirror ..." - chroot_exec /usr/bin/find /etc/yum.repos.d/ -name "*.repo" -type f -exec /usr/bin/sed -i 's/#baseurl=https\?:\/\/download.fedoraproject.org\/pub/baseurl=http:\/\/192.168.1.10\/pub\/fedoraproject.org/g' {} \; - is_ok "fail" "done" - - # TODO: Remove this before creating PR - msg -n "Disabling metalink ..." - chroot_exec /usr/bin/find /etc/yum.repos.d/ -name "*.repo" -type f -exec /usr/bin/sed -i 's/metalink=/#metalink=/g' {} \; - is_ok "fail" "done" - msg -n "Setting dnf excludes ..." echo "exclude=kernel* *-firmware grubby" >> "${CHROOT_DIR}"/etc/dnf/dnf.conf is_ok "fail" "done" - # TODO: Think about it before creating PR msg -n "Upgrading packages ..." chroot_exec -u root dnf -y upgrade --refresh is_ok "fail" "done" From d1d445b87f6928f2b7329537429f5f1c8b3d7011 Mon Sep 17 00:00:00 2001 From: ElXreno Date: Thu, 7 Nov 2019 11:30:49 +0300 Subject: [PATCH 5/7] Removed excludes for Fedora besides grubby I do this because Xfce installation failing. --- include/bootstrap/fedora/deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/bootstrap/fedora/deploy.sh b/include/bootstrap/fedora/deploy.sh index 6a74c20..d6dfa29 100644 --- a/include/bootstrap/fedora/deploy.sh +++ b/include/bootstrap/fedora/deploy.sh @@ -93,7 +93,7 @@ do_install() component_exec core/mnt core/net msg -n "Setting dnf excludes ..." - echo "exclude=kernel* *-firmware grubby" >> "${CHROOT_DIR}"/etc/dnf/dnf.conf + echo "exclude=grubby" >> "${CHROOT_DIR}"/etc/dnf/dnf.conf is_ok "fail" "done" msg -n "Upgrading packages ..." From 821cf9acd51773125278d0884e78dc98f497078e Mon Sep 17 00:00:00 2001 From: ElXreno <40758597+ElXreno@users.noreply.github.com> Date: Thu, 7 Nov 2019 12:51:42 +0300 Subject: [PATCH 6/7] Appended slash into Fedora link --- include/bootstrap/fedora/deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/bootstrap/fedora/deploy.sh b/include/bootstrap/fedora/deploy.sh index d6dfa29..7c12aa1 100644 --- a/include/bootstrap/fedora/deploy.sh +++ b/include/bootstrap/fedora/deploy.sh @@ -15,7 +15,7 @@ then esac fi -[ -n "${SOURCE_PATH}" ] || SOURCE_PATH="http://dl.fedoraproject.org/pub" +[ -n "${SOURCE_PATH}" ] || SOURCE_PATH="http://dl.fedoraproject.org/pub/" dnf_install() { From f98d79df69b8ed84d166eeeeb719fa4f8775ac7f Mon Sep 17 00:00:00 2001 From: Anton Skshidlevsky Date: Thu, 21 Nov 2019 22:10:57 +0300 Subject: [PATCH 7/7] Fix issue #1129 --- include/bootstrap/archlinux/deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/bootstrap/archlinux/deploy.sh b/include/bootstrap/archlinux/deploy.sh index 083f5df..ce4daa9 100644 --- a/include/bootstrap/archlinux/deploy.sh +++ b/include/bootstrap/archlinux/deploy.sh @@ -27,7 +27,7 @@ pacman_install() [ -n "${packages}" ] || return 1 (set -e #rm -f ${CHROOT_DIR}/var/lib/pacman/db.lck || true - chroot_exec -u root pacman -Syq --overwrite --noconfirm ${packages} + chroot_exec -u root pacman -Syq --overwrite="*" --noconfirm ${packages} rm -f "${CHROOT_DIR}"/var/cache/pacman/pkg/* || true exit 0) return $?