GithubHelp home page GithubHelp logo

subgraph-debian-packages's Introduction

subgraph-debian-packages

Information and build status for SubgraphOS Debian packages

Build overview

Subgraph Debian packages use git-buildpackage. Upstream development is generally in the master branch while the Debian packaging is in the debian branch. git-buildpackage is configured to build with git-pbuilder using a copy-on-write file stored in /var/cache/pbuilder/base-stretch-amd64.cow.

Reproducibility

Most packages produced with this build process should be reproducible. Sample hashes for package builds as of May 8th, 2017 in the sample-hashes file.

Build environment setup process

Subgraph targets Debian Stretch and the build process should be performed on a fully updated SubgraphOS or Debian Stretch system.

To create the local git-pbuilder root, run the setup.sh provided in this git repository:

bash -x setup.sh

To use the build root always set ARCH=amd64 DIST=stretch before any git-buildpackage or other related commands.

Package build process

To build any Subgraph Debian package the steps are uniform; simply pick a project and run the following commands:

git clone https://www.github.com/subgraph/sgos_handbook
cd sgos_handbook/
git checkout debian
ARCH=amd64 gbp buildpackage -us -uc --git-dist=stretch

All source code, .dsc files, .debs, and other output will be stored in /tmp/build-area/ on your local file system.

Sample build process for all packages

As an example, one may build all current Subgraph Debian packages:

bash ./setup.sh
bash ./fetch-src.sh
bash ./build-sg-pkgs.sh

All source code will be stored in ./tmp/ and all build output will be placed in /tmp/build-area/.

Sample update process to build one package:

As an example, update the chroot, update all source repos and build usblockout:

bash ./update-chroot.sh
bash ./update-sg-srcs.sh
bash ./build-package.sh usblockout

Enter the chroot to change or update the chroot manually with the following command:

sudo ARCH=amd64 DIST=stretch /usr/sbin/cowbuilder --architecture amd64 --login --basepath /var/cache/pbuilder/base-stretch.cow --save

Build status

Each package is automatically built for each commit on the respective debian branch.

Build Status: base-files
Build Status: bulb
Build Status: fw-daemon
Build Status: gnome-session-subgraph
Build Status: gnome-shell-extension-ozshell
Build Status: gnome-shell-extension-torstatus
Build Status: inotify
Build Status: libmacouflage
Build Status: macouflage
Build Status: macouflage-multi
Build Status: onioncfg
Build Status: oz
Build Status: paxrat
Build Status: roflcoptor
Build Status: sgos_handbook
Build Status: subgraph-apt-config
Build Status: subgraph-archive-keyring
Build Status: subgraph-defaults
Build Status: subgraph-desktop-gnome
Build Status: subgraph-environment-config
Build Status: subgraph-ferm-config
Build Status: subgraph-gnupg-config
Build Status: subgraph-grub-config
Build Status: subgraph-landings
Build Status: subgraph_metaproxy
Build Status: subgraph-networkmanager-config
Build Status: subgraph-nm-never-autoconnect
Build Status: subgraph-os-apparmor-profiles
Build Status: subgraph-oz-profiles
Build Status: subgraph-pulse-config
Build Status: subgraph-standard
Build Status: subgraph-tor-config
Build Status: sublogmon
Build Status: sublogmon-gui
Build Status: usblockout
Build Status: monero
Build Status: monero-gui

subgraph-debian-packages's People

Contributors

kibal avatar dma avatar oholiab avatar xsmurf avatar

Stargazers

Reed HHW avatar  avatar  avatar  avatar Software Nerd avatar  avatar disco avatar cade avatar  avatar  avatar  avatar Orcun Oruc avatar Caleb L Waddell avatar みづな れい avatar  avatar  avatar

Watchers

Leif Ryge avatar  avatar James Cloos avatar Bruce Leidl avatar Giap Tran avatar  avatar Julian Lawrence avatar Caleb L Waddell avatar

subgraph-debian-packages's Issues

Improve build support and instructions

As @dma suggested in #117 when I ran into build issues with Oz (the instructions were out of date), I successfully ran the setup.sh in this repo, but still am getting same error:

user@host:~/Code/sgos_handbook$ gbp buildpackage -us -uc
gbp:info: Extracting sgos-handbook_1.0.0.orig.tar.gz to '/tmp/build-area/sgos-handbook-tmp'
gbp:info: Exporting 'HEAD' to '/tmp/build-area/sgos-handbook-tmp'
gbp:info: Moving '/tmp/build-area/sgos-handbook-tmp' to '/tmp/build-area/sgos-handbook-1.0.0'
Base directory /var/cache/pbuilder/base.cow does not exist
gbp:error: 'git-pbuilder -us -uc' failed: it exited with 1

GOPATH and GOBIN must be unset before build

Not entirely sure about GOPATH, but definitely GOBIN needs to be unset if they are set in the user's environment before calling gdp buildpackage

I attempted to build oz with both set (full incantation was DIST=stretch gbp buildpackage -us -uc --git-debian-branch=debian-test) and it failed here:

...
github.com/subgraph/oz/vendor/github.com/twtiger/gosecco/emulator
github.com/subgraph/oz/vendor/github.com/twtiger/gosecco/tester
go install github.com/subgraph/oz/vendor/github.com/twtiger/gosecco/tester: open /home/user/golang/bin/tester: no such file or directory
dh_auto_build: go install -v -p 1 -buildmode=pie -pkgdir=/build/oz-daemon-0.2.6/tmp.VPEoyMctLR github.com/subgraph/oz github.com/subgraph/oz/cmd/oz-daemon github.com/subgraph/oz/cmd/oz-init github.com/subgraph/oz/cmd/oz-mount github.com/subgraph/oz/cmd/oz-ovpn-route-down github.com/subgraph/oz/cmd/oz-ovpn-route-up github.com/subgraph/oz/cmd/oz-seccomp github.com/subgraph/oz/cmd/oz-seccomp-tracer github.com/subgraph/oz/cmd/oz-setup github.com/subgraph/oz/cmd/oz-umount github.com/subgraph/oz/fs github.com/subgraph/oz/ipc github.com/subgraph/oz/network github.com/subgraph/oz/ns github.com/subgraph/oz/openvpn github.com/subgraph/oz/oz github.com/subgraph/oz/oz-daemongithub.com/subgraph/oz/oz-init github.com/subgraph/oz/oz-mount github.com/subgraph/oz/oz-seccomp github.com/subgraph/oz/vendor/github.com/BurntSushi/xdg github.com/subgraph/oz/vendor/github.com/codegangsta/cli github.com/subgraph/oz/vendor/github.com/docker/libcontainer/netlink github.com/subgraph/oz/vendor/github.com/docker/libcontainer/system github.com/subgraph/oz/vendor/github.com/gotk3/gotk3/cairo github.com/subgraph/oz/vendor/github.com/gotk3/gotk3/gdk github.com/subgraph/oz/vendor/github.com/gotk3/gotk3/glib github.com/subgraph/oz/vendor/github.com/gotk3/gotk3/gtk github.com/subgraph/oz/vendor/github.com/gotk3/gotk3/pango github.com/subgraph/oz/vendor/github.com/j-keck/arping github.com/subgraph/oz/vendor/github.com/kr/pty github.com/subgraph/oz/vendor/github.com/milosgajdos83/tenus github.com/subgraph/oz/vendor/github.com/naegelejd/go-acl github.com/subgraph/oz/vendor/github.com/op/go-logging github.com/subgraph/oz/vendor/github.com/subgraph/constants github.com/subgraph/oz/vendor/github.com/subgraph/go-xdgdirs github.com/subgraph/oz/vendor/github.com/twtiger/gosecco github.com/subgraph/oz/vendor/github.com/twtiger/gosecco/asm github.com/subgraph/oz/vendor/github.com/twtiger/gosecco/checker github.com/subgraph/oz/vendor/github.com/twtiger/gosecco/compiler github.com/subgraph/oz/vendor/github.com/twtiger/gosecco/constants github.com/subgraph/oz/vendor/github.com/twtiger/gosecco/data github.com/subgraph/oz/vendor/github.com/twtiger/gosecco/emulator github.com/subgraph/oz/vendor/github.com/twtiger/gosecco/native github.com/subgraph/oz/vendor/github.com/twtiger/gosecco/parser github.com/subgraph/oz/vendor/github.com/twtiger/gosecco/precompilation github.com/subgraph/oz/vendor/github.com/twtiger/gosecco/simplifier github.com/subgraph/oz/vendor/github.com/twtiger/gosecco/tester github.com/subgraph/oz/vendor/github.com/twtiger/gosecco/tree github.com/subgraph/oz/vendor/github.com/twtiger/gosecco/unifier github.com/subgraph/oz/vendor/golang.org/x/sys/unix github.com/subgraph/oz/xpra returned exit code 1
debian/rules:13: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 1
make[1]: Leaving directory '/build/oz-daemon-0.2.6'
debian/rules:10: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
I: copying local configuration
E: Failed autobuilding of package
I: unmounting dev/ptmx filesystem
I: unmounting dev/pts filesystem
I: unmounting dev/shm filesystem
I: unmounting proc filesystem
I: unmounting sys filesystem
I: Cleaning COW directory
I: forking: rm -rf /var/cache/pbuilder/build/cow.25049
gbp:error: 'git-pbuilder -us -uc' failed: it exited with 1
user@subgraph/pts/2:~/oz [debian-test]>

As you can see, my $GOBIN from my .zshrc set to $HOME/golang/bin has polluted the build environment and caused a failure. This is still the case with $GOPATH unset, and if I unset both $GOPATH and $GOBIN it works just fine.

Seems like both of these should be unset at the lowest common entry point for all build scripts.

dpkg: error processing package subgraph-oz-profiles (--remove)

When we try to remove oz-daemon or subgraph-oz-profiles packages

dpkg: error processing package subgraph-oz-profiles (--remove):
subprocess installed pre-removal script returned error exit status 1
dpkg: oz-daemon: dependency problems, but removing anyway as you requested:
subgraph-oz-profiles depends on oz-daemon (>= 0.2.1-1.1).

I think the reason is depends together.

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.