diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-02-08 16:36:45 -0500 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-02-08 16:36:45 -0500 |
commit | 7e704d7ac997387341e920e1757c24cac0efe5e9 (patch) | |
tree | a9f30eabaaad5496397a91053d3e03bab1ea57e4 /doc | |
parent | 7785a72495e3eb0ea826b41720c241f58a15b601 (diff) |
Refactor the build system. Avoid recursive make.
This looks like a lot, but more things should "just work".
We have `make dist` now!
Diffstat (limited to 'doc')
-rw-r--r-- | doc/Makefile | 1 | ||||
-rw-r--r-- | doc/createworkdir.md | 36 | ||||
-rw-r--r-- | doc/workflows.md | 64 |
3 files changed, 0 insertions, 101 deletions
diff --git a/doc/Makefile b/doc/Makefile deleted file mode 100644 index 23f8a8f..0000000 --- a/doc/Makefile +++ /dev/null @@ -1 +0,0 @@ -include ../common.mk diff --git a/doc/createworkdir.md b/doc/createworkdir.md deleted file mode 100644 index e50b00f..0000000 --- a/doc/createworkdir.md +++ /dev/null @@ -1,36 +0,0 @@ -# CreateWorkDir - -This script recreates a proper directory tree for packaging. Its aim is to help -you be organized with the work you do as a packager, and establish a certain -standard for packages' publication, so you don't have to lose much time with -them. Just package and upload! - -It will create a directory tree like this: - - $WORKDIR/ - ├── abslibre/ - │ ├── .git/ - │ ├── libre/<PKGBUILDS> - │ └── libre-testing/<PKGBUILDS> - └── staging/ - ├── libre/ - └── libre-testing/ - -*Related Variables* - - WORKDIR - -## staging/ - -This directory contains one directory for each repository, where the resulting -packages are in moved for syncing against the main repository on Parabola's -server. This directory is architecture independent. - -## abslibre/ - -This is the git repo for Parabola's PKGBUILDs. Here you can find the ABS tree -for our packages, and also where you'll have to put new ones for commit. - -(You'll need push access to Parabola's main server, but pulling is public.) - -*Related Variables* - - ABSLIBREGIT diff --git a/doc/workflows.md b/doc/workflows.md deleted file mode 100644 index 03dca4f..0000000 --- a/doc/workflows.md +++ /dev/null @@ -1,64 +0,0 @@ -# Workflows - -Describe your packaging workflow here! - - -## fauno's way - -During packaging, I don't usually restart a build from scratch if I have to make -changes to the PKGBUILD. I use a lot of commenting out commands already ran, -`makepkg -R`, etc. When I used `libremakepkg` I ended up using a lot more -`librechroot` and working from inside the unconfigured chroot, because -`makechrootpkg` (the underlying technology for `libremakepkg`) tries to be too -smart. - -When I started writing `treepkg` I found that mounting what I need directly on -the chroot and working from inside it was much more comfortable and simple than -having a makepkg wrapper doing funny stuff (for instance, mangling -`makepkg.conf` and breaking everything.) - -This is how the chroot is configured: - -* Create the same user (with same uid) on the chroot that the one I use - regularly. - -* Give it password-less sudo on the chroot. - -* Bind mount `/home` to `/chroot/home`, where I have the abslibre-mips64el - clone. - -* Bind mount `/var/cache/pacman/pkg` to `/chroot/var/cache/pacman/pkg` - -* Put these on system's `fstab` so I don't have to do it everytime - -* Configure `makepkg.conf` to `PKGDEST=CacheDir` and `SRCDEST` to something on - my home. - -Workflow: - -* Enter the chroot with `systemd-nspawn -D/chroot` and `su - fauno`. - -* From another shell (I use tmux) edit the abslibre or search for updates with - `git log --no-merges --numstat`. - -* Pick a package and run `treepkg` from its dir on the chroot, or retake a build - with `treepkg /tmp/package-treepkg-xxxx`. - - > Note: `treepkg` has been deprecated in favor of `dagpkg`. - -What this allows: - -* Not having to worry about the state of the chroot. `chcleanup` removes and - adds packages in a smart way so shared dependencies stay and others move along - (think of installing and removing qt for a complete kde rebuild). - -* Building many packages in a row without recreating a chroot for every one of - them. - -* Knowing that any change you made to the chroot stays as you want (no one - touches your makepkg.conf) - -* Hability to run regular commands, not through a chroot wrapper. I can `cd` to - a dir and use `makepkg -whatever` on it and nothing breaks. - -* No extra code spent on wrappers. |