diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/libs/lib-blockdevices-filesystems.sh | 1 | ||||
-rw-r--r-- | src/core/libs/lib-pacman.sh | 17 | ||||
-rw-r--r-- | src/core/libs/lib-ui-interactive.sh | 43 | ||||
-rw-r--r-- | src/core/procedures/base | 2 | ||||
-rw-r--r-- | src/core/procedures/interactive | 17 |
5 files changed, 45 insertions, 35 deletions
diff --git a/src/core/libs/lib-blockdevices-filesystems.sh b/src/core/libs/lib-blockdevices-filesystems.sh index 7d7a826..2ea32e6 100644 --- a/src/core/libs/lib-blockdevices-filesystems.sh +++ b/src/core/libs/lib-blockdevices-filesystems.sh @@ -289,6 +289,7 @@ find_usable_blockdevices() { echo -ne "$devpath $1" fi elif (( ${#parts[@]} )); then +! echo -ne "$devpath $1" for part in ${parts[@]}; do echo -ne "$part $1" done diff --git a/src/core/libs/lib-pacman.sh b/src/core/libs/lib-pacman.sh index bfd307c..7049735 100644 --- a/src/core/libs/lib-pacman.sh +++ b/src/core/libs/lib-pacman.sh @@ -32,7 +32,7 @@ target_prepare_pacman() { [ "$var_PKG_SOURCE_TYPE" = "cd" ] && local serverurl="${var_FILE_URL}" [ "$var_PKG_SOURCE_TYPE" = "net" ] && local serverurl="${var_SYNC_URL}" - [ -z "$1" ] && repos=core + [ -z "$1" ] && repos="libre core" [ -n "$1" ] && repos="$@" # Setup a pacman.conf in /tmp cat << EOF > /tmp/pacman.conf @@ -45,7 +45,7 @@ EOF for repo in $repos do #TODO: this is a VERY, VERY dirty hack. we fall back to net for any non-core repo because we only have core on the CD. also user maybe didn't pick a mirror yet - if [ "$repo" != core ] + if [ "$repo" != core ] && [ "$repo" != libre ] then add_pacman_repo target ${repo} "Include = $var_MIRRORLIST" || return 1 else @@ -97,20 +97,21 @@ EOF # not sorted list_package_groups () { - $PACMAN_TARGET -Sg + echo -e "base\nbase-devel" } # List the packages in one or more repos or groups. output is one or more lines, each line being like this: # <repo/group name> packagename [version, if $1=repo] # lines are sorted by packagename -# $1 repo or group -# $2 one or more repo or group names +# $action repo or group +# $@ one or more repo or group names list_packages () { - [ "$1" = repo -o "$1" = group ] || die_error "list_packages \$1 must be repo or group. not $1!" - [ "$1" = repo ] && $PACMAN_TARGET -Sl $2 - [ "$1" = group ] && $PACMAN_TARGET -Sg $2 + action=$1; shift + [ "$action" = repo -o "$action" = group ] || die_error "list_packages \$action must be repo or group. not $action!" + [ "$action" = repo ] && $PACMAN_TARGET -Sql $@ + [ "$action" = group ] && $PACMAN_TARGET -Sqg $@ } # find out the group to which one or more packages belong diff --git a/src/core/libs/lib-ui-interactive.sh b/src/core/libs/lib-ui-interactive.sh index 2238d45..4caf4bc 100644 --- a/src/core/libs/lib-ui-interactive.sh +++ b/src/core/libs/lib-ui-interactive.sh @@ -734,10 +734,17 @@ interactive_select_packages() { # set up our install location if necessary and sync up so we can get package lists target_prepare_pacman || { show_warning 'Pacman preparation failure' "Pacman preparation failed! Check $LOG for errors."; return 1; } - repos=`list_pacman_repos target` - notify "Package selection is split into three stages. First, you will select a bootloader. Then, you will select package groups that contain packages that you may be interested in. Lastly, you will be presented with a full list of packages for each group, allowing you to fine-tune.\n\n -Note that right now the packages (and groups) selection is limited to the repos available at this time ($repos). Once you have your Arch system up and running, you have access to more repositories and packages.\n\n -If any previous configuration you've done until now (like fancy filesystems) require extra packages, we've already preselected them for your convenience" + repos=`list_pacman_repos target` notify "Package selection is split +into three stages. First, you will select a bootloader. Then, you will +select package groups that contain packages that you may be interested +in. Lastly, you will be presented with a full list of packages for +each group, allowing you to fine-tune.\n\n Note that right now the +packages (and groups) selection is limited to the repos available +at this time ($repos). Once you have your Parabola system up and +running, you have access to more repositories and packages.\n\n If +any previous configuration you've done until now (like fancy +filesystems) require extra packages, we've already preselected +them for your convenience" # show group listing for group selection, base is ON by default, all others are OFF local grouplist=(base ^ ON) @@ -757,8 +764,9 @@ If any previous configuration you've done until now (like fancy filesystems) req ask_checklist "Select Package groups\nDo not deselect base unless you know what you're doing!" 0 "${grouplist[@]}" || return 1 grouplist=("${ANSWER_CHECKLIST[@]}") - # get sorted array of available packages, with their groups. TODO: we should use $repos here - local pkgall=($(list_packages repo core | cut -d ' ' -f2)) + # get sorted array of available packages, with their groups. + # show all packages from base and base-devel + local pkgall=($(list_packages group base base-devel | sort -u)) pkginfo "${pkgall[@]}" # build the list of options, sorted primarily by group, then by packagename (this is already). marking where appropriate @@ -770,7 +778,7 @@ If any previous configuration you've done until now (like fancy filesystems) req mark=ON fi pkglist+=("$pkgname" "$pkggroup" $mark "$pkgname $pkgver: $pkgdesc") - done < <(echo "$PACKAGE_INFO" | sort -f -k 3) + done < <(echo "$PACKAGE_INFO" | sort -u -f -k 3) [ ${#pkglist[@]} -eq 0 ] && show_warning "No packages found" "Sorry. I could not find any packages. maybe your network is not setup correctly, you lost connection, no mirror setup, bad group, ..." && return 1 @@ -1082,23 +1090,18 @@ generate_grub_menulst() { cat >>$grubmenu <<EOF -# (0) Arch Linux -title Arch Linux +# (0) Parabola GNU/Linux-Libre +title Parabola GNU/Linux-Libre root $grubdev kernel $subdir/vmlinuz-linux $kernel_parameters initrd $subdir/initramfs-linux.img -# (1) Arch Linux -title Arch Linux Fallback +# (1) Parabola GNU/Linux-Libre +title Parabola GNU/Linux-Libre Fallback root $grubdev kernel $subdir/vmlinuz-linux $kernel_parameters initrd $subdir/initramfs-linux-fallback.img -# (2) Windows -#title Windows -#rootnoverify (hd0,0) -#makeactive -#chainloader +1 EOF } @@ -1341,7 +1344,7 @@ interactive_select_source() { esac if [ "$var_PKG_SOURCE_TYPE" = "cd" ]; then - TITLE="Arch Linux CDROM or OTHER SOURCE Installation" + TITLE="Parabola GNU/Linux-Libre CDROM or OTHER SOURCE Installation" notify "Packages included on this disk have been mounted to /src/core/pkg. If you wish to use your own packages from another source, manually mount them there." if [ ! -d /src/core/pkg ]; then notify "Package directory /src/core/pkg is missing!" @@ -1349,7 +1352,7 @@ interactive_select_source() { fi echo "Using CDROM for package installation" >$LOG else - TITLE="Arch Linux NET (FTP/HTTP) Installation" + TITLE="Parabola GNU/Linux-Libre NET (FTP/HTTP) Installation" notify "If you wish to load your ethernet modules manually, please do so now in an another terminal." fi return 0 @@ -1360,13 +1363,13 @@ interactive_select_source() { # args: none # returns: nothing interactive_select_mirror() { - notify "Keep in mind ftp.archlinux.org is throttled.\nPlease select another mirror to get full download speed." + notify "Keep in mind that these are the only mirrors that contain Free Software only." # FIXME: this regex doesn't honor commenting MIRRORS=$(egrep -o '((ftp)|(http))://[^/]*' "${var_MIRRORLIST}" | sed 's|$| _|g') ask_option no "Mirror selection" "Select an FTP/HTTP mirror" required $MIRRORS "Custom" "_" || return 1 local _server=$ANSWER_OPTION if [ "${_server}" = "Custom" ]; then - ask_string "Enter the full URL to core repo." "ftp://ftp.archlinux.org/core/os/$var_ARCH" || return 1 + ask_string "Enter the full URL to core repo." "http://repo.parabolagnulinux.org/core/os/$var_ARCH" || return 1 var_SYNC_URL=${ANSWER_STRING/\/core\///\$repo/} #replace '/core/' by '/$repo/' else # Form the full URL for our mirror by grepping for the server name in diff --git a/src/core/procedures/base b/src/core/procedures/base index dba70d1..1f9e6a8 100644 --- a/src/core/procedures/base +++ b/src/core/procedures/base @@ -66,7 +66,7 @@ worker_select_source () { var_PKG_SOURCE_TYPE='cd' var_FILE_URL="file:///src/core/pkg" - var_SYNC_URL= # optional, points to a repository string something like ftp://ftp.belnet.be/mirror/archlinux.org/$repo/os/i686 (eg the same format as what you find in /etc/pacman.conf) + var_SYNC_URL= # optional, points to a repository string something like http://repo.parabolagnulinux.org/$repo/os/i686 (eg the same format as what you find in /etc/pacman.conf) } diff --git a/src/core/procedures/interactive b/src/core/procedures/interactive index 0148389..e539490 100644 --- a/src/core/procedures/interactive +++ b/src/core/procedures/interactive @@ -126,12 +126,17 @@ worker_set_editor () worker_intro () { - notify "Welcome to the Arch Linux Installation program. The install\ - process is fairly straightforward, and you should run through the options in\ - the order they are presented. If you are unfamiliar with partitioning/making\ - filesystems, you may want to consult some documentation before continuing.\ - You can view all output from commands by viewing your VC7 console (ALT-F7).\ - ALT-F1 will bring you back here.\n\n$DISCLAIMER" + notify "Welcome to the Parabola GNU/Linux-Libre Installation program.\n +You're about to install a Free as in Freedom Arch system!\ +\n +\n +The install process is fairly straightforward, and you should run \ +through the options in the order they are presented. If you are \ +unfamiliar with partitioning/making filesystems, you may want to \ +consult some documentation before continuing. You can view all output \ +from commands by viewing your tty7 console (ALT-F7). ALT-F1 will \ +bring you back here.\n\n$DISCLAIMER" + } |