mirror of
https://gitlab.archlinux.org/archlinux/devtools.git
synced 2025-09-13 18:06:19 +02:00
Compare commits
15 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
372fb4e7d1 | ||
![]() |
25133fcd17 | ||
![]() |
e3d2f1a020 | ||
![]() |
8440133032 | ||
![]() |
0adf83fadf | ||
![]() |
ecc3fcf86d | ||
![]() |
394d9c8b54 | ||
![]() |
7a3550c903 | ||
![]() |
c290215aa6 | ||
![]() |
32b55d1587 | ||
![]() |
6201853f52 | ||
![]() |
fbc3929ec0 | ||
![]() |
8cb3bcc17b | ||
![]() |
db7a90ccd2 | ||
![]() |
a9bfd8d2c9 |
8
Makefile
8
Makefile
@@ -1,4 +1,4 @@
|
||||
V=0.9.10
|
||||
V=0.9.13
|
||||
|
||||
all:
|
||||
|
||||
@@ -15,6 +15,7 @@ install:
|
||||
ln -sf commitpkg $(DESTDIR)/usr/bin/community-testingpkg
|
||||
ln -sf commitpkg $(DESTDIR)/usr/bin/community-stagingpkg
|
||||
ln -sf commitpkg $(DESTDIR)/usr/bin/multilibpkg
|
||||
ln -sf commitpkg $(DESTDIR)/usr/bin/multilib-testingpkg
|
||||
# arch{co,release,rm}
|
||||
install -m 755 archco $(DESTDIR)/usr/bin
|
||||
install -m 755 communityco $(DESTDIR)/usr/bin
|
||||
@@ -32,6 +33,7 @@ install:
|
||||
ln -sf archbuild $(DESTDIR)/usr/bin/staging-i686-build
|
||||
ln -sf archbuild $(DESTDIR)/usr/bin/staging-x86_64-build
|
||||
ln -sf archbuild $(DESTDIR)/usr/bin/multilib-build
|
||||
ln -sf archbuild $(DESTDIR)/usr/bin/multilib-testing-build
|
||||
# Additional packaging helper scripts
|
||||
install -m 755 lddd $(DESTDIR)/usr/bin
|
||||
install -m 755 finddeps $(DESTDIR)/usr/bin
|
||||
@@ -44,6 +46,7 @@ install:
|
||||
install -m 644 pacman-testing.conf $(DESTDIR)/usr/share/devtools
|
||||
install -m 644 pacman-staging.conf $(DESTDIR)/usr/share/devtools
|
||||
install -m 644 pacman-multilib.conf $(DESTDIR)/usr/share/devtools
|
||||
install -m 644 pacman-multilib-testing.conf $(DESTDIR)/usr/share/devtools
|
||||
|
||||
uninstall:
|
||||
# remove all files we installed
|
||||
@@ -57,6 +60,7 @@ uninstall:
|
||||
rm $(DESTDIR)/usr/bin/community-testingpkg
|
||||
rm $(DESTDIR)/usr/bin/community-stagingpkg
|
||||
rm $(DESTDIR)/usr/bin/multilibpkg
|
||||
rm $(DESTDIR)/usr/bin/multilib-testingpkg
|
||||
rm $(DESTDIR)/usr/sbin/mkarchroot
|
||||
rm $(DESTDIR)/usr/sbin/makechrootpkg
|
||||
rm $(DESTDIR)/usr/bin/extra-i686-build
|
||||
@@ -66,6 +70,7 @@ uninstall:
|
||||
rm $(DESTDIR)/usr/bin/staging-i686-build
|
||||
rm $(DESTDIR)/usr/bin/staging-x86_64-build
|
||||
rm $(DESTDIR)/usr/bin/multilib-build
|
||||
rm $(DESTDIR)/usr/bin/multilib-testing-build
|
||||
rm $(DESTDIR)/usr/bin/lddd
|
||||
rm $(DESTDIR)/usr/bin/finddeps
|
||||
rm $(DESTDIR)/usr/bin/archco
|
||||
@@ -79,6 +84,7 @@ uninstall:
|
||||
rm $(DESTDIR)/usr/share/devtools/pacman-testing.conf
|
||||
rm $(DESTDIR)/usr/share/devtools/pacman-staging.conf
|
||||
rm $(DESTDIR)/usr/share/devtools/pacman-multilib.conf
|
||||
rm $(DESTDIR)/usr/share/devtools/pacman-multilib-testing.conf
|
||||
|
||||
dist:
|
||||
git archive --format=tar --prefix=devtools-$(V)/ $(V) | gzip -9 > devtools-$(V).tar.gz
|
||||
|
21
archbuild
21
archbuild
@@ -1,12 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
base_packages='base base-devel sudo'
|
||||
|
||||
cmd="$(basename "${0%-build}")"
|
||||
if [ "${cmd}" == 'multilib' ]; then
|
||||
repo='multilib'
|
||||
if [ "${cmd%-*}" == 'multilib' ]; then
|
||||
repo="${cmd}"
|
||||
arch='x86_64'
|
||||
base_packages+=' gcc-multilib libtool-multilib'
|
||||
else
|
||||
repo=${cmd%-*}
|
||||
arch=${cmd#*-}
|
||||
arch=${cmd##*-}
|
||||
fi
|
||||
chroots='/var/tmp/archbuild'
|
||||
clean_first=false
|
||||
@@ -26,16 +29,6 @@ while getopts 'cr:' arg; do
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "$(uname -m)" == 'i686' -a "${arch}" != 'i686' ]; then
|
||||
echo 'You can only build i686 packages on this system'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$(uname -m)" != 'x86_64' -a "${repo}" == 'multilib' ]; then
|
||||
echo 'You can only build multilib packages on a x86_64 system'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ${clean_first} || [ ! -d "${chroots}/${repo}-${arch}" ]; then
|
||||
echo "Creating chroot for [${repo}] (${arch})..."
|
||||
sudo rm -rf ${chroots}/${repo}-${arch}
|
||||
@@ -44,7 +37,7 @@ if ${clean_first} || [ ! -d "${chroots}/${repo}-${arch}" ]; then
|
||||
-C /usr/share/devtools/pacman-${repo}.conf \
|
||||
-M /usr/share/devtools/makepkg-${arch}.conf \
|
||||
${chroots}/${repo}-${arch}/root \
|
||||
base base-devel sudo
|
||||
${base_packages}
|
||||
fi
|
||||
|
||||
echo "Building in chroot for [${repo}] (${arch})..."
|
||||
|
2
checkpkg
2
checkpkg
@@ -80,7 +80,7 @@ for _pkgname in ${pkgname[@]}; do
|
||||
sort -o filelist-$_pkgname filelist-$_pkgname
|
||||
sort -o filelist-$_pkgname-old filelist-$_pkgname-old
|
||||
|
||||
diff filelist-$_pkgname-old filelist-$_pkgname
|
||||
diff -u filelist-$_pkgname-old filelist-$_pkgname
|
||||
|
||||
if diff filelist-$_pkgname-old filelist-$_pkgname | grep '\.so\.' > /dev/null 2>&1; then
|
||||
mkdir -p pkg
|
||||
|
@@ -60,6 +60,9 @@ elif [ "$cmd" == 'community-stagingpkg' ]; then
|
||||
elif [ "$cmd" == 'multilibpkg' ]; then
|
||||
repo='multilib'
|
||||
server='aur.archlinux.org'
|
||||
elif [ "$cmd" == 'multilib-testingpkg' ]; then
|
||||
repo='multilib-testing'
|
||||
server='aur.archlinux.org'
|
||||
else
|
||||
if [ $# -eq 0 ]; then
|
||||
abort 'usage: commitpkg <reponame> [-l limit] [commit message]'
|
||||
@@ -116,7 +119,7 @@ for _arch in ${arch[@]}; do
|
||||
fi
|
||||
|
||||
echo -n 'uploading '
|
||||
rsync -p --chmod 'ug=rw,o=r' -c -h -L --progress $rsyncopts --partial "${pkgfile}" -e ssh $server:staging/$repo || abort
|
||||
rsync -p --chmod 'ug=rw,o=r' -c -h -L --progress $rsyncopts --partial "${pkgfile}" -e ssh "$server:staging/$repo/${pkgfile##*/}" || abort
|
||||
done
|
||||
archrelease $repo-${_arch} || abort
|
||||
done
|
||||
|
@@ -87,7 +87,7 @@ if [ "$EUID" != '0' ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -f PKGBUILD ]; then
|
||||
if [ ! -f PKGBUILD -a -z "$install_pkg" ]; then
|
||||
echo 'This must be run in a directory containing a PKGBUILD.'
|
||||
exit 1
|
||||
fi
|
||||
|
10
mkarchroot
10
mkarchroot
@@ -73,13 +73,13 @@ if [ -z "$cache_dir" ]; then
|
||||
fi
|
||||
|
||||
if [ -f /etc/pacman.d/mirrorlist ]; then
|
||||
host_mirror=$(grep -v '^#' -m1 /etc/pacman.d/mirrorlist | sed -E 's#/os/(i686|x86_64)#/os/\$arch#g')
|
||||
host_mirror=$(pacman -Sdp extra/devtools 2>/dev/null | sed -E 's#(.*/)extra/os/.*#\1$repo/os/$arch#')
|
||||
fi
|
||||
if [ -z "${host_mirror}" ]; then
|
||||
host_mirror='Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch'
|
||||
host_mirror='http://mirrors.kernel.org/archlinux/$repo/os/$arch'
|
||||
fi
|
||||
if echo "${host_mirror}" | grep -q 'file://'; then
|
||||
host_mirror_path=$(echo "${host_mirror}" | sed -E 's#Server\s=\sfile://(/.*)/\$repo/os/(\$arch|i686|x86_64)#\1#g')
|
||||
host_mirror_path=$(echo "${host_mirror}" | sed -E 's#file://(/.*)/\$repo/os/\$arch#\1#g')
|
||||
fi
|
||||
|
||||
# {{{ functions
|
||||
@@ -116,7 +116,7 @@ chroot_mount() {
|
||||
copy_hostconf () {
|
||||
chroot "${working_dir}" /bin/findmnt -rnu -o SOURCE,TARGET,FSTYPE,OPTIONS > "${working_dir}/etc/mtab"
|
||||
cp /etc/resolv.conf "${working_dir}/etc/resolv.conf"
|
||||
echo "${host_mirror}" > ${working_dir}/etc/pacman.d/mirrorlist
|
||||
echo "Server = ${host_mirror}" > ${working_dir}/etc/pacman.d/mirrorlist
|
||||
}
|
||||
|
||||
chroot_umount () {
|
||||
@@ -153,7 +153,7 @@ if [ "$RUN" != "" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "${working_dir}/var/lib/pacman/"
|
||||
mkdir -p "${working_dir}/var/lib/pacman/sync"
|
||||
mkdir -p "${working_dir}/etc/"
|
||||
|
||||
chroot_mount
|
||||
|
@@ -58,23 +58,18 @@ Architecture = auto
|
||||
# after the header, and they will be used before the default mirrors.
|
||||
|
||||
#[testing]
|
||||
## Add your preferred servers here, they will be used first
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[core]
|
||||
# Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[extra]
|
||||
# Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
#[community-testing]
|
||||
## Add your preferred servers here, they will be used first
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community]
|
||||
# Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# An example of a custom package repository. See the pacman manpage for
|
||||
|
87
pacman-multilib-testing.conf
Normal file
87
pacman-multilib-testing.conf
Normal file
@@ -0,0 +1,87 @@
|
||||
#
|
||||
# /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
|
||||
HoldPkg = pacman glibc
|
||||
# If upgrades are available for these packages they will be asked for first
|
||||
SyncFirst = pacman
|
||||
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||
#XferCommand = /usr/bin/curl -C - %u > %o
|
||||
#CleanMethod = KeepInstalled
|
||||
Architecture = auto
|
||||
|
||||
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
||||
#IgnorePkg =
|
||||
#IgnoreGroup =
|
||||
|
||||
#NoUpgrade =
|
||||
#NoExtract =
|
||||
|
||||
# Misc options (all disabled by default)
|
||||
#UseSyslog
|
||||
#ShowSize
|
||||
#UseDelta
|
||||
#TotalDownload
|
||||
|
||||
#
|
||||
# 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.
|
||||
|
||||
[testing]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[core]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community-testing]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# If you want to run 32 bit applications on your x86_64 system,
|
||||
# enable the multilib repository 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]
|
||||
#Server = file:///home/custompkgs
|
||||
|
@@ -58,27 +58,23 @@ Architecture = auto
|
||||
# after the header, and they will be used before the default mirrors.
|
||||
|
||||
#[testing]
|
||||
## Add your preferred servers here, they will be used first
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[core]
|
||||
# Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[extra]
|
||||
# Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
#[community-testing]
|
||||
## Add your preferred servers here, they will be used first
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community]
|
||||
# Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# If you want to run 32 bit applications on your x86_64 system,
|
||||
# enable the multilib repository here.
|
||||
[multilib]
|
||||
# Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# An example of a custom package repository. See the pacman manpage for
|
||||
|
@@ -58,31 +58,24 @@ Architecture = auto
|
||||
# after the header, and they will be used before the default mirrors.
|
||||
|
||||
[staging]
|
||||
## Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[testing]
|
||||
## Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[core]
|
||||
# Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[extra]
|
||||
# Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community-staging]
|
||||
## Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community-testing]
|
||||
## Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community]
|
||||
# Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# An example of a custom package repository. See the pacman manpage for
|
||||
|
@@ -58,23 +58,18 @@ Architecture = auto
|
||||
# after the header, and they will be used before the default mirrors.
|
||||
|
||||
[testing]
|
||||
## Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[core]
|
||||
# Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[extra]
|
||||
# Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community-testing]
|
||||
## Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community]
|
||||
# Add your preferred servers here, they will be used first
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# An example of a custom package repository. See the pacman manpage for
|
||||
|
Reference in New Issue
Block a user