search for: ft_source_path

Displaying 9 results from an estimated 9 matches for "ft_source_path".

2014 Mar 13
3
[supermin 1/3] Recognize dpkg-divert
--- configure.ac | 1 + src/config.ml.in | 1 + src/dpkg.ml | 1 + 3 files changed, 3 insertions(+) diff --git a/configure.ac b/configure.ac index 2141540..99ea913 100644 --- a/configure.ac +++ b/configure.ac @@ -92,6 +92,7 @@ AC_PATH_PROG(APT_GET,[apt-get],[no]) AC_PATH_PROG(DPKG,[dpkg],[no]) AC_PATH_PROG(DPKG_DEB,[dpkg-deb],[no]) AC_PATH_PROG(DPKG_QUERY,[dpkg-query],[no])
2014 Mar 08
9
supermin and dpkg-divert
While trying to run libguestfs tests after building with "--enable-appliance --with-supermin-extra-options=--use-installed", I ran into a peculiar error message in the c-api test: ,---- | libguestfs: error: strings: /abssymlink: strings: error while loading | shared libraries: libbfd-2.24-multiarch.so: cannot open shared object | file: No such file or directory `---- The problem here
2014 Mar 15
4
[supermin 1/2] chroot: Fix corner case introduced with dpkg-divert support
...++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/chroot.ml b/src/chroot.ml index b5c1e53..9e522d9 100644 --- a/src/chroot.ml +++ b/src/chroot.ml @@ -26,7 +26,9 @@ let build_chroot debug files outputdir = List.iter ( fun file -> try - let path = file.ft_source_path in + let path = if file_exists file.ft_source_path + then file.ft_source_path + else file.ft_path in let st = lstat path in let opath = outputdir // file.ft_path in match st.st_kind with @@ -68,7 +70,10 @@ let build_chroot debug files outputdir =...
2014 Mar 10
2
[supermin 2/3] Add file.source_path, no functional changes
...es pkgs = let config = try string_prefix "/etc/" path && (lstat path).st_kind = S_REG with Unix_error _ -> false in - { ft_path = path; ft_config = config } + let cmd = sprintf "%s --truename %s" Config.dpkg_divert path in + { ft_path = path; ft_source_path = path; ft_config = config } ) lines let dpkg_download_all_packages pkgs dir = diff --git a/src/package_handler.ml b/src/package_handler.ml index 10a9e3d..5aa27ba 100644 --- a/src/package_handler.ml +++ b/src/package_handler.ml @@ -43,6 +43,7 @@ let no_settings = type file = { ft_path :...
2014 Mar 10
3
[supermin 3/3] Use the file tuple up to the point where files are copied into the filesystem / chroot
...rmin: build: %d files\n%!" (List.length files); @@ -120,9 +116,11 @@ let rec build debug *) let files = List.filter ( - fun path -> - try ignore (lstat path); true - with Unix_error (err, fn, _) -> false + fun file -> + try ignore (lstat file.ft_source_path); true + with Unix_error (err, fn, _) -> + try ignore (lstat file.ft_path); true + with Unix_error (err, fn, _) -> false ) files in if debug >= 1 then @@ -139,9 +137,9 @@ let rec build debug else ( let fn_flags = [FNM_NOESCAPE] in List....
2015 May 04
1
[PATCH] build: remove unreadable files after filtering
...ebug if debug >= 1 then printf "supermin: build: %d files\n%!" (List.length files); - (* Remove files from the list which don't exist on the host or are - * unreadable to us. - *) - let files = - List.filter ( - fun file -> - try ignore (lstat file.ft_source_path); true - with Unix_error _ -> - try ignore (lstat file.ft_path); true - with Unix_error _ -> false - ) files in - - if debug >= 1 then - printf "supermin: build: %d files, after removing unreadable files\n%!" - (List.length files); - (* Rem...
2014 Mar 13
2
Re: [supermin 3/3] Use the file tuple up to the point where files are copied into the filesystem / chroot
...(* Make the target an absolute path. *) let target = if String.length target < 1 || target.[0] <> '/' then @@ -367,24 +368,27 @@ and munge files = else target in if not (dir_seen target) then + let target = {ft_path = target; ft_source_path = target; ft_config = false} in loop (target :: dir :: rest) else dir :: loop rest - | dir :: rest when stat_is_dir dir -> - insert_dir dir; + | dir :: rest when stat_is_dir dir.ft_path -> + insert_dir dir.ft_path; (* Have we seen the parent...
2014 Mar 15
5
A few easy dpkg optimizations for supermin
I have done some printf profiling and found that supermin's calls to dpkg for individual packages are quite expensive. Here are some patches that gather all information on demand where possible. On my Debian/unstable-based workstation at home, preparing a minimal appliance using $ ./supermin --use-installed --prepare bash -o supermin.d now takes ~3.5s (previously ~15s). Turning that
2014 Sep 17
4
[PATCH 0/2] supermin: use librpm for rpm support
Hi, this work makes supermin use the rpm library instead of invoking rpm directly. This, together with a needed refactoring of the dependency resolution, should help in make supermin faster on rpm-based systems. Surely the patches will still need polishing, especially for behaviours of newly added stuff, but at least it's a good starting point. Noting that you need rpm-devel on most of rpm