├── .gitignore ├── README.md ├── make-apt.sh └── repos └── apt ├── conf ├── mxeapt.gpg └── mxeapt.list └── debian └── conf ├── distributions └── options /.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Blank MXE APT to automate deploy 2 | 3 | How to use. 4 | 5 | * Dependencies: 6 | 7 | * Install [MXE dependencies](http://mxe.cc/#requirements-debian) 8 | * Install [build-pkg dependencies](https://github.com/mxe/mxe/blob/master/tools/build-pkg.lua) 9 | * Install reprepro 10 | 11 | 12 | * Build MXE: 13 | 14 | ``` 15 | $ git clone https://github.com/mxe/mxe /usr/lib/mxe 16 | $ cd /usr/lib/mxe 17 | $ lua tools/build-pkg.lua &> build-pkg.log 18 | ``` 19 | 20 | * Deploy: 21 | 22 | ``` 23 | $ git clone https://github.com/mxe/mxe-apt ~/mxe-apt 24 | $ cd ~/mxe-apt 25 | $ ./make-apt.sh /usr/lib/mxe 26 | $ cd ~/www 27 | $ ln -s ~/mxe-apt repos 28 | ``` 29 | -------------------------------------------------------------------------------- /make-apt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -xue 4 | 5 | ( ! egrep -q 'personal-digest-preferences SHA(256|384|512)' ~/.gnupg/gpg.conf ) \ 6 | && echo 'Update ~/.gnupg/gpg.conf to use SHA2 in preference to SHA1' \ 7 | && echo 'See https://keyring.debian.org/creating-key.html' \ 8 | && exit 1 9 | 10 | for d in \ 11 | repos/apt/debian/db \ 12 | repos/apt/debian/dists \ 13 | repos/apt/debian/pool \ 14 | repos/deb-control \ 15 | repos/deb-control.tar.xz \ 16 | repos/list \ 17 | repos/list.tar.xz \ 18 | repos/log \ 19 | repos/log.tar.xz \ 20 | repos/tar; \ 21 | do 22 | [ -e $d ] && echo 'run "git clean -fdx"' && exit 1 23 | done 24 | 25 | MXEDIR=$1 26 | export REPREPRO_BASE_DIR=$(pwd)/repos/apt/debian 27 | 28 | for dist in wheezy jessie; do 29 | reprepro -C main includedeb $dist \ 30 | $MXEDIR/mxe-*.deb \ 31 | $MXEDIR/$dist/mxe-*.deb 32 | # copy directories wheezy/ and jessie/ 33 | cp -r $MXEDIR/$dist repos/ 34 | done 35 | 36 | for ext in tar.xz list deb-control; do 37 | DIR=repos/$(echo $ext | sed 's/.xz//') 38 | mkdir -p $DIR 39 | cp $MXEDIR/*.$ext $DIR 40 | for target in \ 41 | $($MXEDIR/ext/config.guess) \ 42 | i686-w64-mingw32.static \ 43 | i686-w64-mingw32.shared \ 44 | x86_64-w64-mingw32.static \ 45 | x86_64-w64-mingw32.shared; \ 46 | do 47 | target2=$(echo $target | sed 's/_/-/g') 48 | mkdir -p $DIR/mxe-$target2 49 | mv \ 50 | $DIR/mxe-$target2-*.$ext \ 51 | $DIR/mxe-$target2/ 52 | done 53 | done 54 | 55 | cp -r $MXEDIR/log repos/ 56 | 57 | for d in list deb-control log; do 58 | tar -C repos -cJf repos/$d.tar.xz $d 59 | done 60 | -------------------------------------------------------------------------------- /repos/apt/conf/mxeapt.gpg: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | Version: GnuPG v1.4.12 (GNU/Linux) 3 | 4 | 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 50 | =aLi9 51 | -----END PGP PUBLIC KEY BLOCK----- 52 | -------------------------------------------------------------------------------- /repos/apt/conf/mxeapt.list: -------------------------------------------------------------------------------- 1 | deb http://pkg.mxe.cc/repos/apt/debian wheezy main 2 | -------------------------------------------------------------------------------- /repos/apt/debian/conf/distributions: -------------------------------------------------------------------------------- 1 | Origin: MXE packages 2 | Label: MXE packages 3 | Codename: wheezy 4 | Architectures: amd64 i386 5 | Components: main 6 | Description: MXE packages 7 | SignWith: BF9AB431 8 | 9 | Origin: MXE packages 10 | Label: MXE packages 11 | Codename: jessie 12 | Architectures: amd64 i386 13 | Components: main 14 | Description: MXE packages 15 | SignWith: BF9AB431 16 | -------------------------------------------------------------------------------- /repos/apt/debian/conf/options: -------------------------------------------------------------------------------- 1 | verbose 2 | ask-passphrase 3 | --------------------------------------------------------------------------------