Loading .gitlab-ci.yml +1 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ makepkg: stage: build script: - seblu-build - seblu-x86_64-build artifacts: name: $CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHA expire_in: 1 week Loading PKGBUILD +8 −10 Original line number Diff line number Diff line Loading @@ -17,23 +17,21 @@ pkgver() { package() { cd "$startdir" install -dm755 "$pkgdir"/usr/{share/licenses/$pkgname,share/devtools,bin} # install legal stuff install -dm755 "$pkgdir/usr/share/licenses/$pkgname" install -m644 COPYRIGHT LICENSE "$pkgdir/usr/share/licenses/$pkgname" # install config install -m644 pacman-seblu.conf "$pkgdir/usr/share/devtools" install -m644 pacman-multilib-seblu.conf "$pkgdir/usr/share/devtools" d="$pkgdir"/usr/share/devtools/pacman.conf.d install -dm755 "$d" install -m644 pacman-seblu.conf "$d"/seblu.conf install -m644 pacman-multilib-seblu.conf "$d"/multilib-seblu.conf # install binaries install -m755 seblu-build seblu-build-commit seblu-commit seblu-remove \ seblu-cleanup seblu-push update-arch-chroots \ "$pkgdir/usr/bin" install -dm755 "$pkgdir"/usr/bin install -m755 seblu-commit seblu-remove seblu-cleanup seblu-push \ "$pkgdir"/usr/bin # symlink archbuild ln -s archbuild "$pkgdir/usr/bin/seblu-x86_64-build" ln -s archbuild "$pkgdir/usr/bin/multilib-seblu-build" # symlink to seblu-build ln -s seblu-build "$pkgdir/usr/bin/extra-build" ln -s seblu-build "$pkgdir/usr/bin/testing-build" ln -s seblu-build "$pkgdir/usr/bin/staging-build" # add sudo config install -dm750 "$pkgdir/etc/sudoers.d" install -m644 sudoers "$pkgdir/etc/sudoers.d/50-devtools-seblu" Loading pacman-multilib-seblu.conf +75 −2 Original line number Diff line number Diff line # # /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 # We cannot check disk space from within a chroot environment #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. [seblu] SigLevel = Required TrustedOnly Server = https://al1.seblu.net/$repo/$arch Server = https://al2.seblu.net/$repo/$arch #[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 [community] 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 pacman-seblu.conf +72 −5 Original line number Diff line number Diff line # # /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 # We cannot check disk space from within a chroot environment #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. [seblu] SigLevel = Required TrustedOnly Server = https://al1.seblu.net/$repo/$arch Server = https://al2.seblu.net/$repo/$arch #[core-testing] #Include = /etc/pacman.d/mirrorlist [core] Include = /etc/pacman.d/mirrorlist [extra] Include = /etc/pacman.d/mirrorlist #[extra-testing] #Include = /etc/pacman.d/mirrorlist [community] [extra] Include = /etc/pacman.d/mirrorlist seblu-builddeleted 100755 → 0 +0 −45 Original line number Diff line number Diff line #!/bin/bash # Copyright © Sébastien Luttringer # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. [[ ! -f PKGBUILD ]] && echo 'No PKGBUILD' && exit 1 source /usr/share/devtools/makepkg-x86_64.conf [[ -r "$HOME/.makepkg.conf" ]] && source "$HOME/.makepkg.conf" source PKGBUILD repo=${0##*/} repo=${repo%-*} # usage : in_array( $needle, $haystack ) # return : 0 - found # 1 - not found in_array() { local needle=$1; shift local item for item in "$@"; do [[ $item = $needle ]] && return 0 # Found done return 1 # Not Found } # arch amd64 build and any builds if in_array 'x86_64' "${arch[@]}" || in_array 'any' "${arch[@]}"; then $repo-x86_64-build "$@" || exit 1 fi # vim:set ts=2 sw=2 ft=sh noet ai: Loading
.gitlab-ci.yml +1 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ makepkg: stage: build script: - seblu-build - seblu-x86_64-build artifacts: name: $CI_PROJECT_NAME-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHA expire_in: 1 week Loading
PKGBUILD +8 −10 Original line number Diff line number Diff line Loading @@ -17,23 +17,21 @@ pkgver() { package() { cd "$startdir" install -dm755 "$pkgdir"/usr/{share/licenses/$pkgname,share/devtools,bin} # install legal stuff install -dm755 "$pkgdir/usr/share/licenses/$pkgname" install -m644 COPYRIGHT LICENSE "$pkgdir/usr/share/licenses/$pkgname" # install config install -m644 pacman-seblu.conf "$pkgdir/usr/share/devtools" install -m644 pacman-multilib-seblu.conf "$pkgdir/usr/share/devtools" d="$pkgdir"/usr/share/devtools/pacman.conf.d install -dm755 "$d" install -m644 pacman-seblu.conf "$d"/seblu.conf install -m644 pacman-multilib-seblu.conf "$d"/multilib-seblu.conf # install binaries install -m755 seblu-build seblu-build-commit seblu-commit seblu-remove \ seblu-cleanup seblu-push update-arch-chroots \ "$pkgdir/usr/bin" install -dm755 "$pkgdir"/usr/bin install -m755 seblu-commit seblu-remove seblu-cleanup seblu-push \ "$pkgdir"/usr/bin # symlink archbuild ln -s archbuild "$pkgdir/usr/bin/seblu-x86_64-build" ln -s archbuild "$pkgdir/usr/bin/multilib-seblu-build" # symlink to seblu-build ln -s seblu-build "$pkgdir/usr/bin/extra-build" ln -s seblu-build "$pkgdir/usr/bin/testing-build" ln -s seblu-build "$pkgdir/usr/bin/staging-build" # add sudo config install -dm750 "$pkgdir/etc/sudoers.d" install -m644 sudoers "$pkgdir/etc/sudoers.d/50-devtools-seblu" Loading
pacman-multilib-seblu.conf +75 −2 Original line number Diff line number Diff line # # /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 # We cannot check disk space from within a chroot environment #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. [seblu] SigLevel = Required TrustedOnly Server = https://al1.seblu.net/$repo/$arch Server = https://al2.seblu.net/$repo/$arch #[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 [community] 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
pacman-seblu.conf +72 −5 Original line number Diff line number Diff line # # /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 # We cannot check disk space from within a chroot environment #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. [seblu] SigLevel = Required TrustedOnly Server = https://al1.seblu.net/$repo/$arch Server = https://al2.seblu.net/$repo/$arch #[core-testing] #Include = /etc/pacman.d/mirrorlist [core] Include = /etc/pacman.d/mirrorlist [extra] Include = /etc/pacman.d/mirrorlist #[extra-testing] #Include = /etc/pacman.d/mirrorlist [community] [extra] Include = /etc/pacman.d/mirrorlist
seblu-builddeleted 100755 → 0 +0 −45 Original line number Diff line number Diff line #!/bin/bash # Copyright © Sébastien Luttringer # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. [[ ! -f PKGBUILD ]] && echo 'No PKGBUILD' && exit 1 source /usr/share/devtools/makepkg-x86_64.conf [[ -r "$HOME/.makepkg.conf" ]] && source "$HOME/.makepkg.conf" source PKGBUILD repo=${0##*/} repo=${repo%-*} # usage : in_array( $needle, $haystack ) # return : 0 - found # 1 - not found in_array() { local needle=$1; shift local item for item in "$@"; do [[ $item = $needle ]] && return 0 # Found done return 1 # Not Found } # arch amd64 build and any builds if in_array 'x86_64' "${arch[@]}" || in_array 'any' "${arch[@]}"; then $repo-x86_64-build "$@" || exit 1 fi # vim:set ts=2 sw=2 ft=sh noet ai: