From 3d3156b97f679a84210c08ca7e7563691d988a3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Reynolds?= Date: Thu, 13 Sep 2012 19:56:46 -0300 Subject: Export the CARCH correctly --- librerepkg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/librerepkg b/librerepkg index d506003..5cb0fa3 100755 --- a/librerepkg +++ b/librerepkg @@ -60,11 +60,11 @@ for _arch in ${arch[@]}; do stdnull pushd ${tempdir} + echo "export CARCH=${_arch}" >> PKGBUILD + msg2 "Updating md5sums" makepkg -gp rePKGBUILD >> rePKGBUILD - echo "export CARCH=${_arch}" >> rePKGBUILD - msg "Repackaging using makepkg" makepkg -Lcdp rePKGBUILD ${makepkgflags} -- cgit v1.2.3 From 4e5c5c74108718b08a021991b314d6a68d829544 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Reynolds?= Date: Mon, 5 Nov 2012 16:48:14 -0300 Subject: Note on aur usage --- aur | 3 +++ 1 file changed, 3 insertions(+) diff --git a/aur b/aur index b96cb20..6ffb2b9 100755 --- a/aur +++ b/aur @@ -26,6 +26,9 @@ function usage { echo echo "This script will download packages from aur to the current dir" echo "and check their license for nonfree issues." + echo + echo "Note: it depends on abs to be updated." + echo "Install 'abs-libre' and run \`abs\` as root before working with $0" } while getopts 'h' arg; do -- cgit v1.2.3 From 48696038cec8f4cef0152d356b05d40c585a20b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Reynolds?= Date: Mon, 5 Nov 2012 16:48:28 -0300 Subject: Skip unexistent repos --- toru-path | 2 ++ 1 file changed, 2 insertions(+) diff --git a/toru-path b/toru-path index 957f49b..baeaeb5 100755 --- a/toru-path +++ b/toru-path @@ -22,6 +22,8 @@ fi fullrepos=() for (( i = ${#REPOS[@]}-1 ; i >= 0 ; i-- )); do ${VERBOSE} && msg "Processing [%s]" ${REPOS[$i]} + + [ -d "${ABSROOT}${REPOS[$i]}" ] && \ fullrepos+=("${ABSROOT}${REPOS[$i]}") done pkgbuilds=($(get_pkgbuilds ${fullrepos[@]})) -- cgit v1.2.3 From 6c14fad1750b4342b5b283e0851c00e3c074a15c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Reynolds?= Date: Wed, 7 Nov 2012 15:04:29 -0300 Subject: The dirtiest way of putting chcleanup to work on the chroot --- librechroot | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/librechroot b/librechroot index c8e02b0..158828b 100755 --- a/librechroot +++ b/librechroot @@ -46,7 +46,12 @@ function usage { function clean_chroot { # Clean packages with pacman cp -a "$(dirname $0)/chcleanup" "${CHROOTDIR}/${CHROOTNAME}/clean" - mkarchroot -r "cd /build; /clean" "${CHROOTDIR}/${CHROOTNAME}" + libremessages="$(grep "libremessages" /etc/libretools.conf | cut -d" " -f2)" + + cat /etc/libretools.conf ${libremessages} | sed "/libremessages/d" > "${CHROOTDIR}/${CHROOTNAME}/etc/libretools.conf" + + + mkarchroot -r "sh -c 'cd /build; /clean'" "${CHROOTDIR}/${CHROOTNAME}" } function clean_repo { -- cgit v1.2.3 From 09a60ac3ddb6763cbf1c9c783117c10bb1e1291e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Reynolds?= Date: Fri, 30 Nov 2012 02:31:34 -0300 Subject: Workflows documentation --- doc/workflows.markdown | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 doc/workflows.markdown diff --git a/doc/workflows.markdown b/doc/workflows.markdown new file mode 100644 index 0000000..f55ae7e --- /dev/null +++ b/doc/workflows.markdown @@ -0,0 +1,60 @@ +# 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`. (Refer to doc/treepkg + here). + +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. -- cgit v1.2.3