Processed: Re: Bug#690210: debootstrap : debian-ports support

2019-02-09 Thread Debian Bug Tracking System
Processing control commands:

> retitle -1 debootstrap: please support multiple suites
Bug #690210 [debootstrap] debootstrap: please add support for debian-ports
Changed Bug title to 'debootstrap: please support multiple suites' from 
'debootstrap: please add support for debian-ports'.

-- 
690210: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=690210
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#690210: debootstrap : debian-ports support

2019-02-09 Thread Aurelien Jarno
control: retitle -1 debootstrap: please support multiple suites

On 2018-04-30 09:45, Raphael Hertzog wrote:
> Hi,
> 
> On Sat, 28 Apr 2018, jhcha54008 wrote:
> > I am afraid debootstrap already depends on perl (it
> > doesn't show up in the control file as perl-base
> > is Essential) : it ships a perl function 'pkg_details'
> > inline (see file /usr/share/debootstrap/functions line 1323
> > in debootstrap version 1.0.97)
> 
> Ok, I missed this. Still I'm pretty sure that it's not a good
> trend to continue.
> 
> > Should the perl code depends on libdpkg-perl or is it bearable
> > to inline the needed functions ? The former avoids code duplication
> > with benefits in size and maintainability, the latter keeps the
> > dependencies to a minimum (wget, perl-base).
> > 
> > As far as I know, there are three main use cases of debootstrap :
> > 1. create a debian chroot on a host running debian (or similar)
> > 2. in debian-installer (base-installer step)
> > 3. "to install Debian GNU/Linux from a Unix/Linux system"
> > (https://www.debian.org/releases/stable/amd64/apds03.html.en)
> > 
> > Depending on libdpkg-perl is beneficial to the first use case,
> > and inlining the functions to the third.
> 
> A dependency on libdpkg-perl is not a good idea either. This is why I'm
> really questioning the need to for this code to be inside debootstrap
> at all.

From what I get this new dependency on libdpkg-perl or on perl code is
to be able to sort packages by version, as a package can be in both
suite in different versions. However that leads me to 2 questions:

- At least for sid, it's already possible to have a package twice in two
  different versions in a single suite. How does it work currently? Does
  it takes the first one, the second one, or is it a random selection?
  I am not sure that the order in dak is stable though.

- If the order used by debootstrap is not random, we can probably just
  "concatenate" the two Packages file in the right order to give more
  priority to unreleased (or to -security, see below).

> > > IMO the special casing for ports.debian.org architectures should be
> > > handled in a dedicated wrapper. And maybe debootstrap needs new features
> > > to make this wrapper possible.
> > 
> > May I ask what for new features you have in mind ?
> 
> Possibly passing a pre-built "Packages" file directly. It would be the
> result of the merge that you are doing between UNRELEASED and the normal
> suite.
> 
> > Is the hope of a debian-ports support in debootstrap still
> > (not too un)reasonable ?
> 
> Why aren't you creating a proper suite merging the required bits on the
> server side in ports.debian.org?
> 
> Maybe the tools you are using do not make it easy to implement but it's really
> something that is not hard with most of the tools (e.g. reprepro).

I am not really sure why we want to do that on the server side,
especially that we are talking about moving debian-ports to dak at some
point, so it means the work will have to be redone also for dak.

In addition to that, in the light of the recent apt issue, there is
another use case than debian-ports for supporting multiple suites.
Supporting debootstrap from both oldstable and oldstable-security
would allow to debootstrap jessie easily. Currently you need to
deboostrap jessie and then upgrade to the latest apt with the
redirection disabled. Of course you need to do that from a mirror which
doesn't use redirection (i.e. not deb.debian.org as apt from jessie
doesn't support the SRV record). As a bonus this feature could be used
in the d-i netboot images, making the installation even faster, by not
downloading and installing the packages in -security twice.

In that regard, I have retitled the bug report.

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



Processed: Re: Bug#690210: Bug 690210 : debootstrap : debian-ports support

2018-05-13 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

> tag 690210 - pending
Bug #690210 [debootstrap] debootstrap: please add support for debian-ports
Removed tag(s) pending.
> thanks
Stopping processing here.

Please contact me if you need assistance.
-- 
690210: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=690210
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#690210: Bug 690210 : debootstrap : debian-ports support

2018-05-13 Thread Philipp Kern
tag 690210 - pending
thanks

On 4/20/18 12:16 AM, Raphael Hertzog wrote:
> On Wed, 18 Apr 2018, Hideki Yamane wrote:
>> control: tags -1 +pending
> 
> It's not "pending" because it's not yet pushed to the official git
> repository. I don't know if you just forgot to push or if willingly kept
> it out for now...

Unmarking pending for this reason.

Kind regards and thanks
Philipp Kern



Bug#690210: debootstrap : debian-ports support

2018-04-30 Thread Raphael Hertzog
Hi,

On Sat, 28 Apr 2018, jhcha54008 wrote:
> I am afraid debootstrap already depends on perl (it
> doesn't show up in the control file as perl-base
> is Essential) : it ships a perl function 'pkg_details'
> inline (see file /usr/share/debootstrap/functions line 1323
> in debootstrap version 1.0.97)

Ok, I missed this. Still I'm pretty sure that it's not a good
trend to continue.

> Should the perl code depends on libdpkg-perl or is it bearable
> to inline the needed functions ? The former avoids code duplication
> with benefits in size and maintainability, the latter keeps the
> dependencies to a minimum (wget, perl-base).
> 
> As far as I know, there are three main use cases of debootstrap :
> 1. create a debian chroot on a host running debian (or similar)
> 2. in debian-installer (base-installer step)
> 3. "to install Debian GNU/Linux from a Unix/Linux system"
> (https://www.debian.org/releases/stable/amd64/apds03.html.en)
> 
> Depending on libdpkg-perl is beneficial to the first use case,
> and inlining the functions to the third.

A dependency on libdpkg-perl is not a good idea either. This is why I'm
really questioning the need to for this code to be inside debootstrap
at all.

> > IMO the special casing for ports.debian.org architectures should be
> > handled in a dedicated wrapper. And maybe debootstrap needs new features
> > to make this wrapper possible.
> 
> May I ask what for new features you have in mind ?

Possibly passing a pre-built "Packages" file directly. It would be the
result of the merge that you are doing between UNRELEASED and the normal
suite.

> Is the hope of a debian-ports support in debootstrap still
> (not too un)reasonable ?

Why aren't you creating a proper suite merging the required bits on the
server side in ports.debian.org?

Maybe the tools you are using do not make it easy to implement but it's really
something that is not hard with most of the tools (e.g. reprepro).

Cheers,
-- 
Raphaël Hertzog ◈ Debian Developer

Support Debian LTS: https://www.freexian.com/services/debian-lts.html
Learn to master Debian: https://debian-handbook.info/get/



Bug#690210: debootstrap : debian-ports support

2018-04-28 Thread jhcha54008
Hi,

Thank you for your message and your help to improve the
patch towards the quality standard of Debian.

There are still some questions left on the best way to 
package a debian-port support in debootstrap.


Le vendredi 20 avril à 00h 16mn 13s (+0200), Raphael Hertzog a écrit :
> On Wed, 18 Apr 2018, Hideki Yamane wrote:
> > control: tags -1 +pending
> 
> It's not "pending" because it's not yet pushed to the official git
> repository. I don't know if you just forgot to push or if willingly kept
> it out for now...
> 
> But please can you avoid committing intrusive changes before seeking
> reviews ?
> 
> I know that I encouraged you to work on debootstrap but now I feel
> responsible to double check all your work because I found out (an
> non-negligible rate) of simple mistakes and discutable design decisions
> in what you submitted so far.
> 
> >  Adjust it to current git code, could you check it, please?
> 
> I feel really uncomfortable with this patch. It's really intrusive
> and adds tons of perl code in a codebase that was not depending
> on perl. The comment even suggests that we would need an alternative
> C implementation in case perl is not available (and that C implementation
> is not provided here). And the perl code is actually duplicating
> code from libdpkg-perl.

I am afraid debootstrap already depends on perl (it
doesn't show up in the control file as perl-base
is Essential) : it ships a perl function 'pkg_details'
inline (see file /usr/share/debootstrap/functions line 1323
in debootstrap version 1.0.97)

There is no perl in debian-installer, and a C helper is 
provided by the udeb package 'bootstrap-base' as 
/usr/lib/debootstrap/pkgdetails (debootstrap-udeb is arch:all 
and bootstrap-base is arch:any)

I followed the same path to add a debian-ports support. Surely, 
the perl code would greatly benefit from the eye of a perl 
specialist (I am not).

As far as I know, there is no C implementation of sort_pkgs
packaged in debian-installer yet (for an example of what I
have in mind, see 
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=885878#44

deduplicate from Colin Watson 
https://launchpadlibrarian.net/14818796/234486.diff
seems to have a similar purpose - I haven't tested it yet)

Should the perl code depends on libdpkg-perl or is it bearable
to inline the needed functions ? The former avoids code duplication
with benefits in size and maintainability, the latter keeps the
dependencies to a minimum (wget, perl-base).

As far as I know, there are three main use cases of debootstrap :
1. create a debian chroot on a host running debian (or similar)
2. in debian-installer (base-installer step)
3. "to install Debian GNU/Linux from a Unix/Linux system"
(https://www.debian.org/releases/stable/amd64/apds03.html.en)

Depending on libdpkg-perl is beneficial to the first use case,
and inlining the functions to the third.

> 
> IMO the special casing for ports.debian.org architectures should be
> handled in a dedicated wrapper. And maybe debootstrap needs new features
> to make this wrapper possible.

May I ask what for new features you have in mind ?

> 
> But I ask you to not commit this unless you get other reviews explaining
> that this change is OK despite the above comments.
> 
> Alternatively, some sort of middle ground would be to provide a script
> dedicated to stuff hosted ports.debian.org, the main script would be
> unmodified and the hackish code would be hidden in a script that the user
> would have to request explicitly.
> 
> Cheers,
> -- 
> Raphaël Hertzog ◈ Debian Developer
> 
> Support Debian LTS: https://www.freexian.com/services/debian-lts.html
> Learn to master Debian: https://debian-handbook.info/get/


Is the hope of a debian-ports support in debootstrap still
(not too un)reasonable ?

Regards,
JH Chatenet



Bug#690210: debootstrap : debian-ports support

2018-04-28 Thread jhcha54008
Le mercredi 18 avril à 14h 40mn 35s (+0900), Hideki Yamane a écrit :
> control: tags -1 +pending
> 
> On Sat, 27 May 2017 11:27:06 +0200 jhcha54008  wrote:
> > I am testing the updated ([1],[2]) version attached of a 
> > debootstrap script to accomodate the peculiarities of non 
> > released port architectures from www.debian-ports.org : 
> (snip)
> > I would be thankful for feedback if someone has the opportunity 
> > to test it.
> 
>  Adjust it to current git code, could you check it, please?
> 

Hi again,

Here is a new version of the patch with a better separation of the main 
code from the one to support debian-ports.

I hope it will help !

Regards,
JH Chatenet

diff -Naur debootstrap-1.0.97.orig/debian/rules debootstrap-1.0.97/debian/rules
--- debootstrap-1.0.97.orig/debian/rules2018-04-17 04:06:32.0 
+0200
+++ debootstrap-1.0.97/debian/rules 2018-04-28 11:55:40.107863387 +0200
@@ -37,6 +37,7 @@
debian/debootstrap-udeb/usr/share/debootstrap/scripts/stable \
debian/debootstrap-udeb/usr/share/debootstrap/scripts/testing \
debian/debootstrap-udeb/usr/share/debootstrap/scripts/unstable
+   -rm -f debian/debootstrap-udeb/usr/share/debootstrap/sort_pkgs_perl 
 
 override_dh_gencontrol:
dh_gencontrol -- -Vkeyring=$(KEYRING)
diff -Naur debootstrap-1.0.97.orig/debootstrap debootstrap-1.0.97/debootstrap
--- debootstrap-1.0.97.orig/debootstrap 2018-04-17 04:06:32.0 +0200
+++ debootstrap-1.0.97/debootstrap  2018-04-28 11:55:40.211863902 +0200
@@ -46,6 +46,7 @@
 CHECKCERTIF=""
 PRIVATEKEY=""
 CACHE_DIR=""
+PORT=""
 
 DEF_MIRROR="http://deb.debian.org/debian;
 DEF_HTTPS_MIRROR="https://deb.debian.org/debian;
@@ -124,6 +125,7 @@
   --private-key=file read the private key from file
   --certificate=file use the client certificate stored in file (PEM)
   --no-check-certificate do not check certificate against certificate 
authorities
+  --debian-ports set up defaults for a port architecture (see 
www.ports.debian.org)
 EOF
 }
 
@@ -384,6 +386,10 @@
CHECKCERTIF="--no-check-certificate"
shift
;;
+  --debian-ports)
+   PORT=yes
+   shift
+   ;;
-*)
error 1 BADARG "unrecognized or invalid option %s" "$1"
;;
@@ -428,6 +434,9 @@
TARGET=$CHROOTDIR
fi
SCRIPT=$DEBOOTSTRAP_DIR/suite-script
+   if [ -e "$DEBOOTSTRAP_DIR/functions_for_debian_ports" ]; then
+   PORT=yes
+   fi
 else
if [ -z "$1" ] || [ -z "$2" ]; then
usage_err 1 NEEDSUITETARGET "You must specify a suite and a 
target."
@@ -613,6 +622,10 @@
 
 ###
 
+if [ -n "$PORT" ]; then
+   . "$DEBOOTSTRAP_DIR/functions_for_debian_ports"
+fi
+
 . "$SCRIPT"
 
 if [ "$SECOND_STAGE_ONLY" = "true" ]; then
@@ -716,6 +729,8 @@
echo "$base">"$TARGET/debootstrap/base"
 
chmod 755 "$TARGET/debootstrap/debootstrap"
+   [ "" = "$PORT" ] || \
+   cp "$DEBOOTSTRAP_DIR/functions_for_debian_ports" 
"$TARGET/debootstrap/"
fi
 fi
 
diff -Naur debootstrap-1.0.97.orig/debootstrap.8 
debootstrap-1.0.97/debootstrap.8
--- debootstrap-1.0.97.orig/debootstrap.8   2018-04-17 04:06:32.0 
+0200
+++ debootstrap-1.0.97/debootstrap.82018-04-28 11:55:40.243864061 +0200
@@ -165,6 +165,10 @@
 .IP
 .IP "\fB\-\-private\-key=FILE\fP"
 Read the private key from file
+.IP
+.IP "\fB\-\-debian\-ports=FILE\fP"
+Tweaking for port architectures (see www.ports.debian.org) when downloading
+from a ftp.ports.debian.org mirror.
 
 .SH EXAMPLES
 .
diff -Naur debootstrap-1.0.97.orig/functions debootstrap-1.0.97/functions
--- debootstrap-1.0.97.orig/functions   2018-04-17 04:06:32.0 +0200
+++ debootstrap-1.0.97/functions2018-04-28 11:55:40.479865231 +0200
@@ -1801,3 +1801,8 @@
 fakechroot" >> "$TARGET/var/lib/dpkg/diversions"
 
 }
+
+## debian-ports 
support
+packages_merge_in_work_out_debs () {
+:
+}
diff -Naur debootstrap-1.0.97.orig/functions_for_debian_ports 
debootstrap-1.0.97/functions_for_debian_ports
--- debootstrap-1.0.97.orig/functions_for_debian_ports  1970-01-01 
01:00:00.0 +0100
+++ debootstrap-1.0.97/functions_for_debian_ports   2018-04-28 
12:05:10.262690632 +0200
@@ -0,0 +1,113 @@
+download_indices () {
+   mk_download_dirs
+   "$DOWNLOAD_INDICES" "$(echo "$@" | tr ' ' '\n' | sort)"
+   # debian-ports also needs "unreleased" architecture
+   local mem_SUITE
+   mem_SUITE="$SUITE"
+   SUITE="unreleased" "$DOWNLOAD_INDICES" $(echo "$@" | tr ' ' '\n' | sort)
+   SUITE="$mem_SUITE"
+}
+
+merge_packages_files () {
+   local TEMP_COMPONENTS m c c1 path pkgdest path1 

Bug#690210: debootstrap : debian-ports support

2018-04-28 Thread jhcha54008
Le mercredi 18 avril à 14h 40mn 35s (+0900), Hideki Yamane a écrit :
> control: tags -1 +pending
> 
> On Sat, 27 May 2017 11:27:06 +0200 jhcha54008  wrote:
> > I am testing the updated ([1],[2]) version attached of a 
> > debootstrap script to accomodate the peculiarities of non 
> > released port architectures from www.debian-ports.org : 
> (snip)
> > I would be thankful for feedback if someone has the opportunity 
> > to test it.
> 
>  Adjust it to current git code, could you check it, please?
> 

Hi,

Thank you for your work on debootstrap and for this
patch adding debian-ports support.

A slightly modified version of the patch (included below)
worked for me (alpha qemu-user emulation in a sid chroot, 
jessie/amd64). I have not the opportunity to test on a 
real alpha workstation presently.

The purpose of the patch was to install through http (or
https) from a debian-ports mirror. This code shouldn't run
if one installs from a CD (there is no 'unreleased' archive on
CD/DVD, https://cdimage.debian.org/cdimage/ports/)
Some architectures (e.g. hppa) don't use the 'unreleased'
distribution for deb packages, even on debian-ports mirrors.
(However, the patch doesn't hurt there as they need to switch the 
default keyring and mirror to the debian-ports ones)

The user should be able to deactivate the debian-ports support code
at will : think of the somewhat special use case where you set up a 
local http mirror serving the content of a CD and install from it.

There are some more comments in this version of the patch. 
However, code which lands in an udeb package has usually terse 
comments : size matters. Please suppress or rephrase the comments
that you don't find necessary for the intelligibility of the code
(an external eye is definitely better than mine !)

We may minimize the footprint in moving the perl code in a separate 
file that we don't ship in debootstrap-udeb : it is useless in 
debian-installer (there is no perl therein).

Where is the right place to give due credit to libdpkg-perl 
(Dpkg::Package and Dpkg::Version) for the functions that I reused ?
Shipping the whole perl code make debootstrap usable with minimal
dependencies (wget and perl-base) : was it the right choice ?

I keep for a coming message some more questions on the 
best way to package debian-ports support inside debian.

Thank you very much for getting debian-ports support under way 
after these years !

Regards,

JH Chatenet

diff -Naur debootstrap-1.0.97.orig/debian/rules debootstrap-1.0.97/debian/rules
--- debootstrap-1.0.97.orig/debian/rules2018-04-17 04:06:32.0 
+0200
+++ debootstrap-1.0.97/debian/rules 2018-04-27 23:55:36.279303900 +0200
@@ -37,6 +37,7 @@
debian/debootstrap-udeb/usr/share/debootstrap/scripts/stable \
debian/debootstrap-udeb/usr/share/debootstrap/scripts/testing \
debian/debootstrap-udeb/usr/share/debootstrap/scripts/unstable
+   -rm -f debian/debootstrap-udeb/usr/share/debootstrap/sort_pkgs_perl 
 
 override_dh_gencontrol:
dh_gencontrol -- -Vkeyring=$(KEYRING)
diff -Naur debootstrap-1.0.97.orig/debootstrap debootstrap-1.0.97/debootstrap
--- debootstrap-1.0.97.orig/debootstrap 2018-04-17 04:06:32.0 +0200
+++ debootstrap-1.0.97/debootstrap  2018-04-27 23:55:36.383304416 +0200
@@ -46,6 +46,7 @@
 CHECKCERTIF=""
 PRIVATEKEY=""
 CACHE_DIR=""
+PORT=""
 
 DEF_MIRROR="http://deb.debian.org/debian;
 DEF_HTTPS_MIRROR="https://deb.debian.org/debian;
@@ -124,6 +125,7 @@
   --private-key=file read the private key from file
   --certificate=file use the client certificate stored in file (PEM)
   --no-check-certificate do not check certificate against certificate 
authorities
+  --debian-ports set up defaults for a port architecture (see 
www.ports.debian.org)
 EOF
 }
 
@@ -384,6 +386,10 @@
CHECKCERTIF="--no-check-certificate"
shift
;;
+  --debian-ports)
+   PORT=yes
+   shift
+   ;;
-*)
error 1 BADARG "unrecognized or invalid option %s" "$1"
;;
@@ -428,6 +434,9 @@
TARGET=$CHROOTDIR
fi
SCRIPT=$DEBOOTSTRAP_DIR/suite-script
+   if [ -e "$DEBOOTSTRAP_DIR/debian_ports" ]; then
+   PORT=yes
+   fi
 else
if [ -z "$1" ] || [ -z "$2" ]; then
usage_err 1 NEEDSUITETARGET "You must specify a suite and a 
target."
@@ -716,6 +725,7 @@
echo "$base">"$TARGET/debootstrap/base"
 
chmod 755 "$TARGET/debootstrap/debootstrap"
+   [ "" = "$PORT" ] || touch "$TARGET/debootstrap/debian_ports"
fi
 fi
 
diff -Naur debootstrap-1.0.97.orig/debootstrap.8 
debootstrap-1.0.97/debootstrap.8
--- debootstrap-1.0.97.orig/debootstrap.8   2018-04-17 04:06:32.0 
+0200
+++ debootstrap-1.0.97/debootstrap.82018-04-27 

Bug#690210: Bug 690210 : debootstrap : debian-ports support

2018-04-19 Thread Raphael Hertzog
On Wed, 18 Apr 2018, Hideki Yamane wrote:
> control: tags -1 +pending

It's not "pending" because it's not yet pushed to the official git
repository. I don't know if you just forgot to push or if willingly kept
it out for now...

But please can you avoid committing intrusive changes before seeking
reviews ?

I know that I encouraged you to work on debootstrap but now I feel
responsible to double check all your work because I found out (an
non-negligible rate) of simple mistakes and discutable design decisions
in what you submitted so far.

>  Adjust it to current git code, could you check it, please?

I feel really uncomfortable with this patch. It's really intrusive
and adds tons of perl code in a codebase that was not depending
on perl. The comment even suggests that we would need an alternative
C implementation in case perl is not available (and that C implementation
is not provided here). And the perl code is actually duplicating
code from libdpkg-perl.

IMO the special casing for ports.debian.org architectures should be
handled in a dedicated wrapper. And maybe debootstrap needs new features
to make this wrapper possible.

But I ask you to not commit this unless you get other reviews explaining
that this change is OK despite the above comments.

Alternatively, some sort of middle ground would be to provide a script
dedicated to stuff hosted ports.debian.org, the main script would be
unmodified and the hackish code would be hidden in a script that the user
would have to request explicitly.

Cheers,
-- 
Raphaël Hertzog ◈ Debian Developer

Support Debian LTS: https://www.freexian.com/services/debian-lts.html
Learn to master Debian: https://debian-handbook.info/get/



Bug#690210: Bug 690210 : debootstrap : debian-ports support

2018-04-18 Thread Vagrant Cascadian
On 2018-04-17, Hideki Yamane  wrote:
> control: tags -1 +pending
>
> On Sat, 27 May 2017 11:27:06 +0200 jhcha54008  wrote:
>> I am testing the updated ([1],[2]) version attached of a 
>> debootstrap script to accomodate the peculiarities of non 
>> released port architectures from www.debian-ports.org : 
> (snip)
>> I would be thankful for feedback if someone has the opportunity 
>> to test it.
>
>  Adjust it to current git code, could you check it, please?

I built debootstrap with current git + this patch, and it seems to work!

Successfully built a riscv64 chroot on amd64:

  debootstrap --arch=riscv64 sid debian-riscv64-chroot 
http://deb.debian.org/debian-ports
  
I've got a package available at:

  deb [signed-by=/usr/share/keyrings/debian-keyring.gpg] 
https://people.debian.org/~vagrant/debian-riscv64 UNRELEASED main


I would suggest not setting a default for PORTS_ARCH, and adding a
commandline flag for it, as this is a hard-coded list that changes over
time, and might make it harder to transition from a debian-ports
architecture to a to a fully supported debian architecture or
vice-versa. This is especially if this hard-coded list lands in a stable
release.

This is really great, though, thanks!


I ran into another bug using https mirrors, but that appears to be a
problem with 1.0.97 too (1.0.96 seems unaffected). I'll look more into
that and file a separate bug or follow-up on any of the existing bugs.


live well,
  vagrant

> From 11239566371afdf3080ee0d383ab17a84860ec68 Mon Sep 17 00:00:00 2001
> From: Hideki Yamane 
> Date: Wed, 18 Apr 2018 14:23:36 +0900
> Subject: [PATCH] Add debian-ports support (Closes: #690210)
>
> Thanks to jhcha54008  for the initial patch
> ---
>  functions | 249 +-
>  scripts/debian-common |   7 +-
>  scripts/sid   |  46 +++-
>  3 files changed, 297 insertions(+), 5 deletions(-)
>
> diff --git a/functions b/functions
> index 0e70f6f..dde66e4 100644
> --- a/functions
> +++ b/functions
> @@ -436,6 +436,13 @@ download () {
>  download_indices () {
>   mk_download_dirs
>   "$DOWNLOAD_INDICES" "$(echo "$@" | tr ' ' '\n' | sort)"
> + # debian-ports also needs "unreleased" architecture
> + if [ -n "$PORT" ]; then
> + local mem_SUITE
> + mem_SUITE="$SUITE"
> + SUITE="unreleased" "$DOWNLOAD_INDICES" $(echo "$@" | tr ' ' 
> '\n' | sort)
> + SUITE="$mem_SUITE"
> + fi
>  }
>  
>  debfor () {
> @@ -487,6 +494,36 @@ apt_dest () {
>   esac
>  }
>  
> +
> +merge_packages_files () {
> + local TEMP_COMPONENTS m c c1 path pkgdest path1 pkgdest1
> +
> + COMPONENTS_WITHOUT_UNRELEASED=$(echo $COMPONENTS|tr ' ' 
> '\n'|sort|uniq|tr '\n' ' ')
> + TEMP_COMPONENTS="$COMPONENTS_WITHOUT_UNRELEASED"
> +
> + for m in $MIRRORS; do
> + for c in $COMPONENTS_WITHOUT_UNRELEASED; do
> + path="dists/unreleased/$c/binary-$ARCH/Packages"
> + pkgdest="$TARGET/$($DLDEST pkg "unreleased" "$c" 
> "$ARCH" "$m" "$path")"
> + path1="dists/$SUITE/$c/binary-$ARCH/Packages"
> + pkgdest1="$TARGET/$($DLDEST pkg "$SUITE" "$c" "$ARCH" 
> "$m" "$path1")"
> +
> + cat "$pkgdest1" "$pkgdest" > "${pkgdest1}.concatenate"
> + "$SORT_PKGS" "${pkgdest1}.concatenate" > 
> "${pkgdest1}.merged"
> + if [ -s "${pkgdest1}.merged" ] ; then
> + if [ -n "$DEBOOTSTRAP_MERGE_KEEP_ORIGINAL" ] ; 
> then
> + mv "$pkgdest1" "${pkgdest1}.original"
> + fi
> + mv "${pkgdest1}.merged" "$pkgdest1"; rm -f 
> "${pkgdest2}.concatenate"
> + fi
> + done
> + done
> +
> + TEMP_COMPONENTS="$(echo $TEMP_COMPONENTS|tr ' ' '\n'|sort|uniq|tr '\n' 
> ' ')"
> + if [ "$TEMP_COMPONENTS" != "$COMPONENTS_WITHOUT_UNRELEASED" ] ; then
> + COMPONENTS="$TEMP_COMPONENTS"
> + fi
> +}
>  ## download
>  
>  get_release_checksum () {
> @@ -1062,13 +1099,18 @@ mv_invalid_to () {
>  setup_apt_sources () {
>   mkdir -p "$TARGET/etc/apt"
>   for m in "$@"; do
> - local cs c path pkgdest
> - for c in ${COMPONENTS:-$USE_COMPONENTS}; do
> + local cs cs1 c path path1 pkgdest pkgdest1
> + for c in ${COMPONENTS_WITHOUT_UNRELEASED:-$USE_COMPONENTS}; do
>   path="dists/$SUITE/$c/binary-$ARCH/Packages"
>   pkgdest="$TARGET/$($DLDEST pkg "$SUITE" "$c" "$ARCH" 
> "$m" "$path")"
>   if [ -e "$pkgdest" ]; then cs="$cs $c"; fi
> + # for "unreleased" archive (debian-ports)
> + 

Processed: Re: Bug 690210 : debootstrap : debian-ports support

2018-04-17 Thread Debian Bug Tracking System
Processing control commands:

> tags -1 +pending
Bug #690210 [debootstrap] debootstrap: please add support for debian-ports
Added tag(s) pending.

-- 
690210: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=690210
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#690210: Bug 690210 : debootstrap : debian-ports support

2017-05-27 Thread jhcha54008
Hi,

I am testing the updated ([1],[2]) version attached of a 
debootstrap script to accomodate the peculiarities of non 
released port architectures from www.debian-ports.org : 
- the keyring is debian-ports-archive-keyring (instead of
debian-archive-keyring). This keyring package is
scheduled for installation too.
- the needed packages are found in both suites 'unstable' 
and 'unreleased'.

See [2] for usage.

I would be thankful for feedback if someone has the opportunity 
to test it.

Regards,
JH Chatenet

[1] : https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=690210#5
[2] : https://lists.debian.org/debian-alpha/2014/06/msg00012.html


debian-ports.gz
Description: application/gzip