GithubHelp home page GithubHelp logo

archlinux-pacaur's Introduction

archlinux-pacaur

An AUR-capable Docker image.

Rationale

This image is inspired by chrert's docker-arch-yaourt image.

It is intended to be used to manage dependencies from the AUR with pacaur in an otherwise minimal Arch image.

Details

This image is built atop greyltc's very transparent archlinux image, and automatically builds to match each release.

This image provides additionally a user build in the group wheel. /etc/sudoers/ is configured such that users in wheel have sudo privileges without a password, allowing operations like pacaur --noconfirm -S python-flask-git just work for build.

This user can also be used to build your own PKGBUILDs. This image provides the directories /build and /home/build which belong to build. /home/build exists only to contain ~/.gnupg for build (necessary for pacaur and some AUR packages), so PKGBUILDs should be built in subdirectories of /build. $AURDEST is also set to /build, so any packages installed via pacaur will have their source in /build. $PACMAN is set to pacaur, so makepkg will resolve PKGBUILD depends from the AUR using pacaur.

Usage

Here's an example Dockerfile using this as a base image:

FROM syntactician/archlinux-pacaur
MAINTAINER Your Name

# install from AUR
su build -c 'pacaur --noconfirm -S python-flask-git'

# build from a custom PKGBUILD via github
WORKDIR /build
RUN git clone https://github.com/your/git-package
WORKDIR /build/git-package
RUN makepkg --noconfirm -sri

# build from local PKGBUILD
COPY PKGBUILD /build/local-package/PKGBUILD
WORKDIR /build/local-package
RUN makepkg --noconfirm -sri

# remove build user
USER root
RUN userdel -r build && rm /home/build

archlinux-pacaur's People

Contributors

syntactician avatar

Watchers

James Cloos avatar  avatar

Forkers

chrissound

archlinux-pacaur's Issues

/bin/sh: pod2man: command not found

tanzeel@tanzeel-HP-Compaq-dx7500-SFF:/pacaur$ sudo docker build -t pacaur-archlinux .
[sudo] password for tanzeel:
Sending build context to Docker daemon 3.072kB
Step 1/38 : FROM greyltc/archlinux:latest
---> 59a9ccdd2147
Step 2/38 : MAINTAINER Edward Hernandez
---> Using cache
---> 9074bcf00efc
Step 3/38 : RUN pacman -q --noconfirm -Syyuu
---> Using cache
---> 06debb3c5f94
Step 4/38 : RUN pacman -q --noconfirm -S base-devel curl expac git openssl yajl
---> Using cache
---> 58d7fc35c242
Step 5/38 : RUN sed -i '/NOPASSWD/s/#//' /etc/sudoers
---> Using cache
---> 4d639d40cc78
Step 6/38 : RUN useradd -r -g wheel build
---> Using cache
---> a578f72390da
Step 7/38 : WORKDIR /build
---> Using cache
---> fb240de91412
Step 8/38 : RUN chown -R build /build
---> Using cache
---> 6eef388ae3c9
Step 9/38 : WORKDIR /home/build
---> Using cache
---> 50dadaf8c7ea
Step 10/38 : RUN chown -R build /home/build
---> Using cache
---> 76bffbd83324
Step 11/38 : USER build
---> Using cache
---> daf6a8a844fd
Step 12/38 : RUN gpg --recv-keys --keyserver hkp://pgp.mit.edu 1EB2638FF56C0C53
---> Using cache
---> 5e6bc763b128
Step 13/38 : RUN sudo pacman -S -h
---> Using cache
---> b9599212c88c
Step 14/38 : RUN sudo pacman -S perl --noconfirm
---> Using cache
---> 74fb9b82cc26
Step 15/38 : RUN pacman -Qi fakeroot
---> Using cache
---> d6995b4cd3c4
Step 16/38 : WORKDIR /build
---> Using cache
---> 9e6e8197a766
Step 17/38 : RUN gpg --recv-keys --keyserver hkp://pgp.mit.edu 1EB2638FF56C0C53
---> Running in 055bc931197b
gpg: key 1EB2638FF56C0C53: 26 signatures not checked due to missing keys
gpg: key 1EB2638FF56C0C53: "Dave Reisner [email protected]" not changed
gpg: Total number processed: 1
gpg: unchanged: 1
Removing intermediate container 055bc931197b
---> 825b7be6285c
Step 18/38 : RUN curl -o PKGBUILD https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=cower
---> Running in 2c1e6e3390a8
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 749 100 749 0 0 818 0 --:--:-- --:--:-- --:--:-- 818
Removing intermediate container 2c1e6e3390a8
---> 4ed1862627ed
Step 19/38 : RUN pacman -Qo /usr/bin/core_perl/pod2man
---> Running in 07856b8b037a
/usr/bin/core_perl/pod2man is owned by perl 5.26.1-2
Removing intermediate container 07856b8b037a
---> 0fcc7eca422d
Step 20/38 : RUN sudo echo $PATH
---> Running in 22419c02ebe4
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Removing intermediate container 22419c02ebe4
---> 964a4ed73504
Step 21/38 : RUN ls -la
---> Running in f61cbfa8dd46
total 12
drwxr-xr-x 1 build root 4096 Feb 19 19:24 .
drwxr-xr-x 1 root root 4096 Feb 19 19:24 ..
-rw-r--r-- 1 build wheel 749 Feb 19 19:24 PKGBUILD
Removing intermediate container f61cbfa8dd46
---> 0eaf67c8c105
Step 22/38 : RUN git clone https://aur.archlinux.org/cower.git
---> Running in 0f8bf4684249
Cloning into 'cower'...
Removing intermediate container 0f8bf4684249
---> 1f15dcc86340
Step 23/38 : WORKDIR /build/cower
Removing intermediate container e5ad5d4cb2df
---> 5317b854750c
Step 24/38 : RUN makepkg --noconfirm -i
---> Running in 5b24634d8360
==> Making package: cower 17-2 (Mon Feb 19 19:24:43 UTC 2018)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Downloading cower-17.tar.gz...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 25661 100 25661 0 0 28865 0 --:--:-- --:--:-- --:--:-- 28832
-> Downloading cower-17.tar.gz.sig...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 310 100 310 0 0 390 0 --:--:-- --:--:-- --:--:-- 390
==> Validating source files with md5sums...
cower-17.tar.gz ... Passed
cower-17.tar.gz.sig ... Skipped
==> Verifying source file signatures with gpg...
cower-17.tar.gz ... Passed
==> Extracting sources...
-> Extracting cower-17.tar.gz with bsdtar
==> Starting build()...
cc -Wclobbered -Wempty-body -Wfloat-equal -Wignored-qualifiers -Wmissing-declarations -Wmissing-parameter-type -Wsign-compare -Wmissing-prototypes -Wold-style-declaration -Wtype-limits -Woverride-init -Wunused -Wstrict-prototypes -Wuninitialized -std=c99 -g -pthread -pedantic -Wall -Wextra -fstack-protector-strong -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -D_GNU_SOURCE -DCOWER_VERSION="17" -D_FORTIFY_SOURCE=2 -c -o cower.o src/cower.c
src/cower.c: In function 'parse_options':
src/cower.c:1194:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
cfg.sortorder = SORT_REVERSE;
~~~~~~~~~~~~~~^~~~~~~~~~~~~~
src/cower.c:1195:7: note: here
case OP_SORT:
^~~~
cc -Wclobbered -Wempty-body -Wfloat-equal -Wignored-qualifiers -Wmissing-declarations -Wmissing-parameter-type -Wsign-compare -Wmissing-prototypes -Wold-style-declaration -Wtype-limits -Woverride-init -Wunused -Wstrict-prototypes -Wuninitialized -std=c99 -g -pthread -pedantic -Wall -Wextra -fstack-protector-strong -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -D_GNU_SOURCE -DCOWER_VERSION="17" -D_FORTIFY_SOURCE=2 -c -o aur.o src/aur.c
cc -Wclobbered -Wempty-body -Wfloat-equal -Wignored-qualifiers -Wmissing-declarations -Wmissing-parameter-type -Wsign-compare -Wmissing-prototypes -Wold-style-declaration -Wtype-limits -Woverride-init -Wunused -Wstrict-prototypes -Wuninitialized -std=c99 -g -pthread -pedantic -Wall -Wextra -fstack-protector-strong -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -D_GNU_SOURCE -DCOWER_VERSION="17" -D_FORTIFY_SOURCE=2 -c -o package.o src/package.c
cc -pthread -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now cower.o aur.o package.o -lcurl -lalpm -lyajl -larchive -o cower
pod2man --section=1 --center="Cower Manual" --name="COWER" --release="cower 17" README.pod cower.1
/bin/sh: pod2man: command not found
make: *** [Makefile:90: cower.1] Error 127
==> ERROR: A failure occurred in build().
Aborting...
The command '/bin/sh -c makepkg --noconfirm -i' returned a non-zero code: 2
tanzeel@tanzeel-HP-Compaq-dx7500-SFF:
/pacaur$

zsh:1: command not found: pod2man

Sending build context to Docker daemon  3.584kB
Step 1/30 : FROM greyltc/archlinux:latest
 ---> c8b6b9c66456
Step 2/30 : MAINTAINER Edward Hernandez
 ---> Using cache
 ---> 91edb50abe2c
Step 3/30 : RUN pacman -q --noconfirm -Syyuu
 ---> Using cache
 ---> 0d9911fd64a9
Step 4/30 : RUN pacman -q --noconfirm -S  		base-devel    curl          		expac         		git           		openssl       		yajl
 ---> Using cache
 ---> 97b84d2c0364
Step 5/30 : RUN sed -i '/NOPASSWD/s/\#//' /etc/sudoers
 ---> Using cache
 ---> d03c5ae15e88
Step 6/30 : RUN useradd -r -g wheel build
 ---> Using cache
 ---> 8412877466d4
Step 7/30 : WORKDIR /build
 ---> Using cache
 ---> 0abb2f1df555
Step 8/30 : RUN chown -R build /build
 ---> Using cache
 ---> 01248c5b644f
Step 9/30 : WORKDIR /home/build
 ---> Using cache
 ---> f4a7c6b614be
Step 10/30 : RUN chown -R build /home/build
 ---> Using cache
 ---> 58f7d2959127
Step 11/30 : USER build
 ---> Using cache
 ---> ba3e7ff07959
Step 12/30 : RUN gpg --recv-keys --keyserver hkp://pgp.mit.edu 1EB2638FF56C0C53
 ---> Using cache
 ---> 40bca5ba9d4b
Step 13/30 : WORKDIR /build
 ---> Using cache
 ---> dab2c0ce9802
Step 14/30 : RUN git clone https://aur.archlinux.org/cower.git
 ---> Using cache
 ---> 0f2d63c6baa5
Step 15/30 : WORKDIR /build/cower
 ---> Using cache
 ---> b5314d85d593
Step 16/30 : RUN makepkg --noconfirm -i
 ---> Running in fa53b6f6e577
==> Making package: cower 17-2 (Tue Jul  4 17:37:16 UTC 2017)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading cower-17.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:-100 25661  100 25661    0     0  97971      0 --:--:-- --:--:-- --:--:-- 98318
  -> Downloading cower-17.tar.gz.sig...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:-100   310  100   310    0     0   1360      0 --:--:-- --:--:-- --:--:--  1365
==> Validating source files with md5sums...
    cower-17.tar.gz ... Passed
    cower-17.tar.gz.sig ... Skipped
==> Verifying source file signatures with gpg...
    cower-17.tar.gz ... Passed
==> Extracting sources...
  -> Extracting cower-17.tar.gz with bsdtar
==> Starting build()...
cc -Wclobbered -Wempty-body -Wfloat-equal -Wignored-qualifiers -Wmissing-declarations -Wmissing-parameter-type -Wsign-compare -Wmissing-prototypes -Wold-style-declaration -Wtype-limits -Woverride-init -Wunused -Wstrict-prototypes -Wuninitialized -std=c99 -g -pthread -pedantic -Wall -Wextra -fstack-protector-strong -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -D_GNU_SOURCE -DCOWER_VERSION=\"17\" -D_FORTIFY_SOURCE=2  -c -o cower.o src/cower.c
src/cower.c: In function 'parse_options':
src/cower.c:1194:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
         cfg.sortorder = SORT_REVERSE;
         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~
src/cower.c:1195:7: note: here
       case OP_SORT:
       ^~~~
cc -Wclobbered -Wempty-body -Wfloat-equal -Wignored-qualifiers -Wmissing-declarations -Wmissing-parameter-type -Wsign-compare -Wmissing-prototypes -Wold-style-declaration -Wtype-limits -Woverride-init -Wunused -Wstrict-prototypes -Wuninitialized -std=c99 -g -pthread -pedantic -Wall -Wextra -fstack-protector-strong -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -D_GNU_SOURCE -DCOWER_VERSION=\"17\" -D_FORTIFY_SOURCE=2  -c -o aur.o src/aur.c
cc -Wclobbered -Wempty-body -Wfloat-equal -Wignored-qualifiers -Wmissing-declarations -Wmissing-parameter-type -Wsign-compare -Wmissing-prototypes -Wold-style-declaration -Wtype-limits -Woverride-init -Wunused -Wstrict-prototypes -Wuninitialized -std=c99 -g -pthread -pedantic -Wall -Wextra -fstack-protector-strong -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -D_GNU_SOURCE -DCOWER_VERSION=\"17\" -D_FORTIFY_SOURCE=2  -c -o package.o src/package.c
cc -pthread  -Wl,-O1,--sort-common,--as-needed,-z,relro  cower.o aur.o package.o  -lcurl -lalpm -lyajl -larchive -o cower
pod2man --section=1 --center="Cower Manual" --name="COWER" --release="cower 17" README.pod cower.1
zsh:1: command not found: pod2man
make: *** [Makefile:90: cower.1] Error 127
==> ERROR: A failure occurred in build().
    Aborting...
The command '/bin/sh -c makepkg --noconfirm -i' returned a non-zero code: 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.