added pacman
This commit is contained in:
parent
8ce7f21ec4
commit
80a23c8ee6
9 changed files with 195 additions and 0 deletions
3
files/aur-local
Normal file
3
files/aur-local
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[aur-local]
|
||||||
|
SigLevel = Never
|
||||||
|
Server = http://pkg.actcur.com/archlinux/$repo/os/$arch
|
10
files/build_mirrorlist.service
Normal file
10
files/build_mirrorlist.service
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Update mirrorlist with pkg server + top 10 mirrors
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=no
|
||||||
|
ExecStart=/bin/bash /scripts/build_mirrorlist.sh
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
9
files/build_mirrorlist.sh
Normal file
9
files/build_mirrorlist.sh
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
curl 'https://archlinux.org/mirrorlist/?country=CA&country=US&protocol=http&protocol=https&ip_version=4&use_mirror_status=on)' > /tmp/tempMirrors.list
|
||||||
|
sleep 10
|
||||||
|
sed -i 's/^#Server/Server/' /tmp/tempMirrors.list
|
||||||
|
cat /tmp/tempMirrors.list | grep -e "Server = .*\/[$]repo\/os\/[$]arch" > /tmp/tempMirrors2.list
|
||||||
|
mirrors=$(rankmirrors -n 10 /tmp/tempMirrors2.list | grep "Server = ")
|
||||||
|
echo "Server = http://pkg.actcur.com/archlinux/$repo/os/$arch" > /tmp/mirrors.list
|
||||||
|
echo "$mirrors" >> /tmp/mirrors.list
|
||||||
|
mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.old
|
||||||
|
mv /tmp/mirrors.list /etc/pacman.d/mirrorlist
|
13
files/build_mirrorlist.timer
Normal file
13
files/build_mirrorlist.timer
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Runs build_mirrorlist.service every 36 hours
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
# Time to wait after booting before we run first time
|
||||||
|
OnBootSec=10min
|
||||||
|
# Time between running each consecutive time
|
||||||
|
OnUnitActiveSec=36h
|
||||||
|
Unit=build_mirrorlist.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
|
98
files/pacman.conf
Normal file
98
files/pacman.conf
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
#
|
||||||
|
# /etc/pacman.conf
|
||||||
|
#
|
||||||
|
# See the pacman.conf(5) manpage for option and repository directives
|
||||||
|
|
||||||
|
#
|
||||||
|
# GENERAL OPTIONS
|
||||||
|
#
|
||||||
|
[options]
|
||||||
|
# The following paths are commented out with their default values listed.
|
||||||
|
# If you wish to use different paths, uncomment and update the paths.
|
||||||
|
#RootDir = /
|
||||||
|
#DBPath = /var/lib/pacman/
|
||||||
|
#CacheDir = /var/cache/pacman/pkg/
|
||||||
|
#LogFile = /var/log/pacman.log
|
||||||
|
#GPGDir = /etc/pacman.d/gnupg/
|
||||||
|
#HookDir = /etc/pacman.d/hooks/
|
||||||
|
HoldPkg = pacman glibc
|
||||||
|
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
|
||||||
|
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||||
|
#CleanMethod = KeepInstalled
|
||||||
|
Architecture = auto
|
||||||
|
|
||||||
|
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
||||||
|
#IgnorePkg =
|
||||||
|
#IgnoreGroup =
|
||||||
|
|
||||||
|
#NoUpgrade =
|
||||||
|
#NoExtract =
|
||||||
|
|
||||||
|
# Misc options
|
||||||
|
#UseSyslog
|
||||||
|
#Color
|
||||||
|
#NoProgressBar
|
||||||
|
CheckSpace
|
||||||
|
#VerbosePkgLists
|
||||||
|
#ParallelDownloads = 5
|
||||||
|
|
||||||
|
# By default, pacman accepts packages signed by keys that its local keyring
|
||||||
|
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||||
|
SigLevel = Required DatabaseOptional
|
||||||
|
LocalFileSigLevel = Optional
|
||||||
|
#RemoteFileSigLevel = Required
|
||||||
|
|
||||||
|
# NOTE: You must run `pacman-key --init` before first using pacman; the local
|
||||||
|
# keyring can then be populated with the keys of all official Arch Linux
|
||||||
|
# packagers with `pacman-key --populate archlinux`.
|
||||||
|
|
||||||
|
#
|
||||||
|
# REPOSITORIES
|
||||||
|
# - can be defined here or included from another file
|
||||||
|
# - pacman will search repositories in the order defined here
|
||||||
|
# - local/custom mirrors can be added here or in separate files
|
||||||
|
# - repositories listed first will take precedence when packages
|
||||||
|
# have identical names, regardless of version number
|
||||||
|
# - URLs will have $repo replaced by the name of the current repo
|
||||||
|
# - URLs will have $arch replaced by the name of the architecture
|
||||||
|
#
|
||||||
|
# Repository entries are of the format:
|
||||||
|
# [repo-name]
|
||||||
|
# Server = ServerName
|
||||||
|
# Include = IncludePath
|
||||||
|
#
|
||||||
|
# The header [repo-name] is crucial - it must be present and
|
||||||
|
# uncommented to enable the repo.
|
||||||
|
#
|
||||||
|
|
||||||
|
# The testing repositories are disabled by default. To enable, uncomment the
|
||||||
|
# repo name header and Include lines. You can add preferred servers immediately
|
||||||
|
# after the header, and they will be used before the default mirrors.
|
||||||
|
|
||||||
|
#[core-testing]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[core]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
#[extra-testing]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
# If you want to run 32 bit applications on your x86_64 system,
|
||||||
|
# enable the multilib repositories as required here.
|
||||||
|
|
||||||
|
#[multilib-testing]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
#[multilib]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
# An example of a custom package repository. See the pacman manpage for
|
||||||
|
# tips on creating your own repositories.
|
||||||
|
#[custom]
|
||||||
|
#SigLevel = Optional TrustAll
|
||||||
|
#Server = file:///home/custompkgs
|
||||||
|
Include = /etc/pacman.d/aur-local
|
|
@ -1,2 +1,4 @@
|
||||||
---
|
---
|
||||||
# handlers file for core
|
# handlers file for core
|
||||||
|
- name: build mirrorlist
|
||||||
|
ansible.builtin.shell: /scripts/build_mirrorlist.sh
|
||||||
|
|
8
tasks/directories.yml
Normal file
8
tasks/directories.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
# tasks file for directories
|
||||||
|
|
||||||
|
- name: ensure scripts exists
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /scripts
|
||||||
|
state: directory
|
||||||
|
|
|
@ -1,2 +1,8 @@
|
||||||
---
|
---
|
||||||
# tasks file for core
|
# tasks file for core
|
||||||
|
|
||||||
|
- include_tasks: directories.yml
|
||||||
|
|
||||||
|
- include_tasks: pacman.yml
|
||||||
|
when: ansible_facts['distribution'] == "Archlinux"
|
||||||
|
|
||||||
|
|
46
tasks/pacman.yml
Normal file
46
tasks/pacman.yml
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
---
|
||||||
|
# tasks file for pacman
|
||||||
|
|
||||||
|
- name: install pacman-contrib to allow use of rankmirrors
|
||||||
|
ansible.builtin.package:
|
||||||
|
name: pacman-contrib
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: create service for building mirrorlist
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: files/build_mirrorlist.service
|
||||||
|
dest: /usr/lib/systemd/system/build_mirrorlist.service
|
||||||
|
|
||||||
|
- name: deploy timer for building mirrorlist
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: files/build_mirrorlist.timer
|
||||||
|
dest: /usr/lib/systemd/system/build_mirrorlist.timer
|
||||||
|
|
||||||
|
- name: deploy mirrorlist script
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: files/build_mirrorlist.sh
|
||||||
|
dest: /scripts/build_mirrorlist.sh
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0744
|
||||||
|
notify:
|
||||||
|
- build mirrorlist
|
||||||
|
|
||||||
|
- name: ensure notify triggers
|
||||||
|
ansible.builtin.meta: flush_handlers
|
||||||
|
|
||||||
|
- name: deploy pacman config
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: files/pacman.conf
|
||||||
|
dest: /etc/pacman.conf
|
||||||
|
|
||||||
|
- name: deploy aur-local config
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: files/aur-local
|
||||||
|
dest: /etc/pacman.d/aur-local
|
||||||
|
|
||||||
|
- name: ensure timer is running
|
||||||
|
service:
|
||||||
|
name: build_mirrorlist.timer
|
||||||
|
state: started
|
||||||
|
enabled: yes
|
Loading…
Add table
Reference in a new issue