[arch-releng] can archiso automatically yield a list of all packages on the iso?
Similar to the package lists on release wikipages ( https://wiki.archlinux.org/index.php/DeveloperWiki:2011.08.19#Package_versio... and https://wiki.archlinux.org/index.php/DeveloperWiki:2011.08.19#Package_versio... ) (which I do manually until now) I would like package lists for all builds generated by archiso, automatically. * for "packages used to build live environment" and "packages included in core repo" * including which repo it comes from (i.e. something like testing/linux-3.3.1-1-i686.pkg.tar.xz) is this possible?
On 04/08/2012 08:00 AM, Dieter Plaetinck wrote:
Similar to the package lists on release wikipages ( https://wiki.archlinux.org/index.php/DeveloperWiki:2011.08.19#Package_versio... and https://wiki.archlinux.org/index.php/DeveloperWiki:2011.08.19#Package_versio... ) (which I do manually until now) I would like package lists for all builds generated by archiso, automatically. * for "packages used to build live environment" and "packages included in core repo" * including which repo it comes from (i.e. something like testing/linux-3.3.1-1-i686.pkg.tar.xz)
is this possible?
Ok. I will send a RFC patch soon. ;) -- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1
(Untested but should work) Please look on this, if this is what your want. Such list will be available inside the iso -> also in http://releng.archlinux.org/isos/$VERSION/arch/pkglist.$arch.txt
This command makes a list of installed packages on root-image, on <ISO>/$archisobasedir/pkglist.$arch.txt with the format <repo>/<package>-<version> --- archiso/mkarchiso | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/archiso/mkarchiso b/archiso/mkarchiso index 1d7b781..75eb9cb 100755 --- a/archiso/mkarchiso +++ b/archiso/mkarchiso @@ -169,6 +169,8 @@ _usage () echo " build all images" echo " checksum" echo " make a checksum.md5 for self-test" + echo " pkglist" + echo " make a pkglist.txt of packages installed on root-image" echo " iso <image name>" echo " build an iso image from the working dir" exit ${1} @@ -199,6 +201,8 @@ _show_config () { ;; checksum) ;; + pkglist) + ;; iso) _msg_info " Image name: ${img_name}" _msg_info " Disk label: ${iso_label}" @@ -378,6 +382,19 @@ command_checksum () { done } +command_pkglist () { + _show_config pkglist + + if _is_directory_changed "${work_dir}/root-image/var/lib/pacman/local" "${work_dir}/iso/${install_dir}/pkglist.${arch}.txt"; then + _msg_info "Creating a list of installed packages on live-enviroment" + pacman -Sl -r "${work_dir}/root-image" --config "${pacman_conf}" | \ + awk '/\[installed\]$/ {print $1 "/" $2 "-" $3}' > \ + "${work_dir}/iso/${install_dir}/pkglist.${arch}.txt" + _msg_info "Done!" + fi + +} + # Create an ISO9660 filesystem from "iso" directory. command_iso () { local _iso_efi_boot_args="" @@ -538,6 +555,9 @@ case "${command_name}" in checksum) command_checksum ;; + pkglist) + command_pkglist + ;; iso) if [[ $# -lt 2 ]]; then _msg_error "No image specified" 0 -- 1.7.9.6
* For installed packages on live-enviroment use mkarchiso pkglist command. * For packages in [core] repo in core.iso, make a list of them during repo generation. It uses the same format like done by pkglist command: <repo>/<package>-<version> (anyway repo is always core in this case). --- configs/releng/build.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configs/releng/build.sh b/configs/releng/build.sh index 2faf210..81efcaf 100755 --- a/configs/releng/build.sh +++ b/configs/releng/build.sh @@ -151,6 +151,8 @@ make_core_repo() { ln -sf ../any/${_pkg_name} ${_dst} fi done + mkdir -p ${work_dir}/iso/${install_dir} + pacman -Sp --print-format "%r/%n-%v" ${_pkgs} > ${work_dir}/iso/${install_dir}/pkglist.repo-core.${arch}.txt : > ${work_dir}/build.${FUNCNAME} fi } @@ -174,6 +176,7 @@ make_prepare() { # args: $1 (core | netinstall) make_iso() { local _iso_type=${1} + mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" pkglist mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" checksum mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-${_iso_type}-${arch}.iso" } -- 1.7.9.6
seems about right for what i need, but what do I know. push to your experimental branch and I can try it out.
On 04/09/2012 04:36 AM, Dieter Plaetinck wrote:
seems about right for what i need, but what do I know. push to your experimental branch and I can try it out.
Tested it and made a minor fix. It works OK. So pushing to master in few hours. -- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1
On 04/08/2012 08:00 AM, Dieter Plaetinck wrote:
Similar to the package lists on release wikipages ( https://wiki.archlinux.org/index.php/DeveloperWiki:2011.08.19#Package_versio... and https://wiki.archlinux.org/index.php/DeveloperWiki:2011.08.19#Package_versio... ) (which I do manually until now) I would like package lists for all builds generated by archiso, automatically. * for "packages used to build live environment" and "packages included in core repo" * including which repo it comes from (i.e. something like testing/linux-3.3.1-1-i686.pkg.tar.xz)
is this possible?
http://releng.archlinux.org/isos/2012.04.11_04-00-02/arch/pkglist.x86_64.txt http://releng.archlinux.org/isos/2012.04.11_16-00-01-testing/arch/pkglist.x8... ;) -- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1
On Thu, 12 Apr 2012 01:06:18 -0300 Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> wrote:
On 04/08/2012 08:00 AM, Dieter Plaetinck wrote:
Similar to the package lists on release wikipages ( https://wiki.archlinux.org/index.php/DeveloperWiki:2011.08.19#Package_versio... and https://wiki.archlinux.org/index.php/DeveloperWiki:2011.08.19#Package_versio... ) (which I do manually until now) I would like package lists for all builds generated by archiso, automatically. * for "packages used to build live environment" and "packages included in core repo" * including which repo it comes from (i.e. something like testing/linux-3.3.1-1-i686.pkg.tar.xz)
is this possible?
http://releng.archlinux.org/isos/2012.04.11_04-00-02/arch/pkglist.x86_64.txt http://releng.archlinux.org/isos/2012.04.11_16-00-01-testing/arch/pkglist.x8...
;)
alright, very useful, thanks. can we also get this for all packages included in the core repo (of core images) ? Dieter
On 04/12/2012 04:11 AM, Dieter Plaetinck wrote:
On Thu, 12 Apr 2012 01:06:18 -0300 Gerardo Exequiel Pozzi<vmlinuz386@yahoo.com.ar> wrote:
On 04/08/2012 08:00 AM, Dieter Plaetinck wrote:
Similar to the package lists on release wikipages ( https://wiki.archlinux.org/index.php/DeveloperWiki:2011.08.19#Package_versio... and https://wiki.archlinux.org/index.php/DeveloperWiki:2011.08.19#Package_versio... ) (which I do manually until now) I would like package lists for all builds generated by archiso, automatically. * for "packages used to build live environment" and "packages included in core repo" * including which repo it comes from (i.e. something like testing/linux-3.3.1-1-i686.pkg.tar.xz)
is this possible?
http://releng.archlinux.org/isos/2012.04.11_04-00-02/arch/pkglist.x86_64.txt http://releng.archlinux.org/isos/2012.04.11_16-00-01-testing/arch/pkglist.x8...
;)
alright, very useful, thanks. can we also get this for all packages included in the core repo (of core images) ?
Dieter
Yes, is on the core.iso, but you are extracting netinstall.iso on such place ;) -- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1
On Thu, 12 Apr 2012 08:49:18 -0300 Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> wrote:
On 04/12/2012 04:11 AM, Dieter Plaetinck wrote:
On Thu, 12 Apr 2012 01:06:18 -0300 Gerardo Exequiel Pozzi<vmlinuz386@yahoo.com.ar> wrote:
On 04/08/2012 08:00 AM, Dieter Plaetinck wrote:
Similar to the package lists on release wikipages ( https://wiki.archlinux.org/index.php/DeveloperWiki:2011.08.19#Package_versio... and https://wiki.archlinux.org/index.php/DeveloperWiki:2011.08.19#Package_versio... ) (which I do manually until now) I would like package lists for all builds generated by archiso, automatically. * for "packages used to build live environment" and "packages included in core repo" * including which repo it comes from (i.e. something like testing/linux-3.3.1-1-i686.pkg.tar.xz)
is this possible?
http://releng.archlinux.org/isos/2012.04.11_04-00-02/arch/pkglist.x86_64.txt http://releng.archlinux.org/isos/2012.04.11_16-00-01-testing/arch/pkglist.x8...
;)
alright, very useful, thanks. can we also get this for all packages included in the core repo (of core images) ?
Dieter
Yes, is on the core.iso, but you are extracting netinstall.iso on such place ;)
oh, we need to extract the isos to get these files? is it not possible for archiso to just provide these files in addition to the iso files? Dieter
On 04/12/2012 08:56 AM, Dieter Plaetinck wrote:
On Thu, 12 Apr 2012 08:49:18 -0300 Gerardo Exequiel Pozzi<vmlinuz386@yahoo.com.ar> wrote:
On 04/12/2012 04:11 AM, Dieter Plaetinck wrote:
On Thu, 12 Apr 2012 01:06:18 -0300 Gerardo Exequiel Pozzi<vmlinuz386@yahoo.com.ar> wrote:
On 04/08/2012 08:00 AM, Dieter Plaetinck wrote:
Similar to the package lists on release wikipages ( https://wiki.archlinux.org/index.php/DeveloperWiki:2011.08.19#Package_versio... and https://wiki.archlinux.org/index.php/DeveloperWiki:2011.08.19#Package_versio... ) (which I do manually until now) I would like package lists for all builds generated by archiso, automatically. * for "packages used to build live environment" and "packages included in core repo" * including which repo it comes from (i.e. something like testing/linux-3.3.1-1-i686.pkg.tar.xz)
is this possible?
http://releng.archlinux.org/isos/2012.04.11_04-00-02/arch/pkglist.x86_64.txt http://releng.archlinux.org/isos/2012.04.11_16-00-01-testing/arch/pkglist.x8...
;)
alright, very useful, thanks. can we also get this for all packages included in the core repo (of core images) ?
Dieter
Yes, is on the core.iso, but you are extracting netinstall.iso on such place ;)
oh, we need to extract the isos to get these files? is it not possible for archiso to just provide these files in addition to the iso files?
Dieter
Just copy from the correct place with releng-scripts <build>/work/$arch/iso/arch/pkglist.$arch.txt -- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1
participants (2)
-
Dieter Plaetinck
-
Gerardo Exequiel Pozzi