diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-05-28 13:20:24 +0200 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-05-28 13:20:24 +0200 |
commit | 9f198633eb4e1b34d1976a87ceec6778e69ad6a5 (patch) | |
tree | 526fd96db4e8fdf4a16c0da1c2f0a67c7a423c3f | |
parent | 014461fef384771fa359cab675c25d197a3d8e68 (diff) |
sync with upstream packaging
-rw-r--r-- | debian/changelog | 29 | ||||
-rw-r--r-- | debian/patches/mount-bind.patch | 113 | ||||
-rw-r--r-- | debian/patches/series | 1 |
3 files changed, 139 insertions, 4 deletions
diff --git a/debian/changelog b/debian/changelog index 208f77d3..7e786038 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,30 @@ -hurd (1:0.5.git20140326-2) UNRELEASED; urgency=medium +hurd (1:0.5.git20140526-2) UNRELEASED; urgency=medium - * control: bump gnumach-dev dependency to get mutable memory object types - translation functions. + [ Gabriele Giacone ] + * patches/mount-bind.patch: Fix uninitialized value. - -- Samuel Thibault <sthibault@debian.org> Wed, 26 Mar 2014 13:12:42 +0100 + -- Samuel Thibault <sthibault@debian.org> Tue, 27 May 2014 22:06:43 +0200 + +hurd (1:0.5.git20140526-1) unstable; urgency=medium + + [ Samuel Thibault ] + * New upstream snapshot. + - Breaks old netdde, which needs to be rebuilt due to libports ABI change. + - patches/libmachdev.patch: Drop patch, fixed upstream. + * control: bump gnumach-dev dependency to get mutable memory object, device + and notify types translation functions. Make hurd-libs0.3 "Breaks" old + glibcs which needed libports_revert_stacksize.patch. + + [ Justus Winter ] + * patches/libports_revert_stacksize.patch: Drop patch, not needed any more. + + [ Pino Toscano ] + * control: remove unused gcc-4.7 build dependency. (Closes: #748000) + + [ Gabriele Giacone ] + * patches/mount-bind.patch: Add bind option to our mount tool. + + -- Samuel Thibault <sthibault@debian.org> Sun, 25 May 2014 20:07:01 +0000 hurd (1:0.5.git20140326-1) unstable; urgency=medium diff --git a/debian/patches/mount-bind.patch b/debian/patches/mount-bind.patch new file mode 100644 index 00000000..2a470c65 --- /dev/null +++ b/debian/patches/mount-bind.patch @@ -0,0 +1,113 @@ +This is waiting for gg0's copyright assignment completion + +From: Gabriele Giacone <1o5g4r8o@gmail.com> + +* utils/mount.c (parse_opt): Add -B/--bind/--firmlink/-o bind mount + options. (do_mount): Do not pass bind mount option to settrans, set + firmlink fstype. (main): Likewise. +--- + utils/mount.c | 38 +++++++++++++++++++++++++++++++------- + 1 file changed, 31 insertions(+), 7 deletions(-) + +diff --git a/utils/mount.c b/utils/mount.c +index df77c66..e6893cb 100644 +--- a/utils/mount.c ++++ b/utils/mount.c +@@ -64,6 +64,8 @@ static const struct argp_option argp_opts[] = + {"no-mtab", 'n', 0, 0, "Do not update /etc/mtab"}, + {"test-opts", 'O', "OPTIONS", 0, + "Only mount fstab entries matching the given set of options"}, ++ {"bind", 'B', 0, 0, "Bind mount, firmlink"}, ++ {"firmlink", 0, 0, OPTION_ALIAS}, + {"fake", 'f', 0, 0, "Do not actually mount, just pretend"}, + {0, 0} + }; +@@ -87,6 +89,7 @@ parse_opt (int key, char *arg, struct argp_state *state) + case 'r': ARGZ (add (&options, &options_len, "ro")); + case 'w': ARGZ (add (&options, &options_len, "rw")); + case 'u': ARGZ (add (&options, &options_len, "update")); ++ case 'B': ARGZ (add (&options, &options_len, "bind")); + case 'o': ARGZ (add_sep (&options, &options_len, arg, ',')); + case 'v': ++verbose; break; + #undef ARGZ +@@ -250,12 +253,20 @@ do_mount (struct fs *fs, int remount) + /* Append the fstab options to any specified on the command line. */ + ARGZ (create_sep (fs->mntent.mnt_opts, ',', &mntopts, &mntopts_len)); + +- /* Remove the `noauto' option, since it's for us not the filesystem. */ ++ /* Remove the `noauto' and `bind' options, since they're for us not the ++ filesystem. */ + for (o = mntopts; o; o = argz_next (mntopts, mntopts_len, o)) +- if (!strcmp (o, MNTOPT_NOAUTO)) +- break; +- if (o) +- argz_delete (&mntopts, &mntopts_len, o); ++ { ++ if (strcmp (o, MNTOPT_NOAUTO) == 0) ++ argz_delete (&mntopts, &mntopts_len, o); ++ if (strcmp (o, "bind") == 0) ++ { ++ fs->mntent.mnt_type = strdup ("firmlink"); ++ if (! fs->mntent.mnt_type) ++ error (3, ENOMEM, "failed to allocate memory"); ++ argz_delete (&mntopts, &mntopts_len, o); ++ } ++ } + + ARGZ (append (&mntopts, &mntopts_len, options, options_len)); + } +@@ -273,7 +284,7 @@ do_mount (struct fs *fs, int remount) + } + else if (strcmp (o, "defaults") != 0 && + strcmp (o, "loop") != 0 && +- strcmp (o, "exec") != 0) ++ strcmp (o, "exec") != 0 && strlen (o) != 0) + { + /* Prepend `--' to the option to make a long option switch, + e.g. `--ro' or `--rsize=1024'. */ +@@ -572,7 +583,7 @@ do_query (struct fs *fs) + int + main (int argc, char **argv) + { +- unsigned int remount; ++ unsigned int remount, firmlink = 0; + struct fstab *fstab; + struct fs *fs; + error_t err; +@@ -598,6 +609,15 @@ main (int argc, char **argv) + if (err) + error (3, ENOMEM, "collecting mount options"); + ++ /* Do not pass `bind' option to firmlink translator */ ++ char *opt = NULL; ++ while ((opt = argz_next (options, options_len, opt))) ++ if (strcmp (opt, "bind") == 0) ++ { ++ firmlink = 1; ++ argz_delete(&options, &options_len, opt); ++ } ++ + if (device) /* two-argument form */ + { + struct mntent m = +@@ -608,6 +628,8 @@ main (int argc, char **argv) + mnt_opts: 0, + mnt_freq: 0, mnt_passno: 0 + }; ++ if (firmlink) ++ m.mnt_type = strdup ("firmlink"); + + err = fstab_add_mntent (fstab, &m, &fs); + if (err) +@@ -625,6 +647,8 @@ main (int argc, char **argv) + mnt_opts: 0, + mnt_freq: 0, mnt_passno: 0 + }; ++ if (firmlink) ++ m.mnt_type = strdup ("firmlink"); + + err = fstab_add_mntent (fstab, &m, &fs); + if (err) +-- +2.0.0.rc2 + diff --git a/debian/patches/series b/debian/patches/series index b7fcf557..c69d9670 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -34,6 +34,7 @@ libdde_pr_cont.patch libdde_rx_queue.patch libdde_rcu.patch mount.patch +mount-bind.patch proc_set_init_task.patch newRPC.patch xkb-compat.patch |