taskGNU Astronomy Utilities - Tasks: task #16562, Debian packaging checklist update

 
 

You are not allowed to post comments on this tracker with your current authentication level.

task #16562: Debian packaging checklist update

Submitter:  Mohammad Akhlaghi <makhlaghi>
Submitted:  Sun 28 Jul 2024 02:53:04 PM UTC
   
 
Should Start On:  Sat 27 Jul 2024 10:00:00 PM UTC Should be Finished on:  Sat 27 Jul 2024 10:00:00 PM UTC
Category:  Installation Priority:  5 - Normal
Item Group:  Enhancement Status:  Ready For Test
Privacy:  Public Assigned to:  None
Percent Complete:  0% Open/Closed:  Open
Effort:  0.00

Sun 04 Aug 2024 06:23:24 AM UTC, comment #3: 

This task has now also been documented as a tutorial on my wiki.

https://wiki.kathenas.org/pmwiki.php/Kathenas/Article00000002

Feedback etc. can be sent to me directly.

Phil Wyett <kathenas>
Sun 28 Jul 2024 04:15:10 PM UTC, comment #2: 

Hi,

# Directory for writing build logs to
$log_dir=$ENV{HOME}."/Development/debian/sbuild_logs";

Change to suit where you wish log files to drop.

Regards

Phil

Phil Wyett <kathenas>
Sun 28 Jul 2024 04:13:11 PM UTC, comment #1: 

Hi,

# Parallel build
$ENV{'DEB_BUILD_OPTIONS'} = 'parallel=4';

Can be adjusted of course to how many threads you wish to allocate.

Regards

Phil

Phil Wyett <kathenas>
Sun 28 Jul 2024 02:53:04 PM UTC, original submission:  

Phil Wyett has proposed the following checklist to package Gnuastro in Debian (and test before releasing the package; including the Reproducible building).

We should check this list on a new Debian operating system and hopefully merge it with the [existing checklist for packaging in Debian](https://git.savannah.gnu.org/cgit/gnuastro.git/tree/doc/release-checklist.txt) to have one reference for future builds.

// Start

sbuild setup
============

Install: sbuild-debian-developer-setup

I do not use apt caching, so I enter no when propmted for such things.

Comand: sudo adduser $USER sbuild

Reboot system.

Install: piuparts

Install: licenserecon

Create: ~/.sbuildrc and add below. Make sure to change '$maintainer_name='
and
'$uploader_name=' for your details.

# Name to use as override in .changes files for the Maintainer: field
# (mandatory, no default!).
$maintainer_name='Phil Wyett <philip.wyett@kathenas.org>';
$uploader_name = 'Phil Wyett <philip.wyett@kathenas.org>';

# Default distribution to build.
$distribution = "unstable";

# Default chroot (defaults to distribution[-arch][-sbuild])
$chroot = 'unstable-amd64-sbuild';

# Build arch-all by default.
$build_arch_all = 1;

$build_source = 1;

# --source-only-changes (applicable for dput. irrelevant for dgit push-
source).
$source_only_changes = 1;

# By default, the -s option only includes the .orig.tar.gz when needed
# (i.e. when the Debian revision is 0 or 1).  By setting this option
# to 1, the .orig.tar.gz will always be included when -s is used.
# This is equivalent to --force-orig-source.
$force_orig_source = 0;

# Verbose (-v)
$verbose = 1;

# Parallel build
$ENV{'DEB_BUILD_OPTIONS'} = 'parallel=4';

# Time to wait for a source dependency lock.  The default is 1 minute.
my $srcdep_lock_wait = 1; # 1 minute

$run_lintian = 1;
$lintian_opts = ['-v', '-i', '-I'];

$run_piuparts = 1;
$piuparts_opts = ['--schroot', '%r-%a-sbuild', '--no-eatmydata'];

$run_autopkgtest = 1;
$autopkgtest_root_args = '';
$autopkgtest_opts = [ '--', 'schroot', '%r-%a-sbuild' ];

# When to purge the build directory afterwards; possible values are "never",
# "successful", and "always".  "always" is the default. It can be helpful
# to preserve failing builds for debugging purposes.  Switch these comments
# if you want to preserve even successful builds, and then use
# "schroot -e --all-sessions" to clean them up manually.
$purge_build_directory = 'successful';
$purge_session = 'successful';
$purge_build_deps = 'successful';

# Directory for writing build logs to
$log_dir=$ENV{HOME}."/Development/debian/sbuild_logs";

# don't remove this, Perl needs it:
1;

Save and exit your editor.

Next we will create the 'unstable' build chroot.

Command: sudo sbuild-createchroot unstable /srv/chroot/unstable-amd64-sbuild

Building a package is a matter of creating the package and giving the '.dsc'
to 'sbuild'.

Example command: sbuild my_cool_app_1.0.0-1.dsc

Adding Reproducible building
============================

Install: reprotest

Now to run see command below.

Command: sudo reprotest --vary=-build_path,domain_host.use_sudo=1 --auto-
build my_cool_app_1.0.0-1.dsc -- schroot unstable-amd64-sbuild

// End

Mohammad Akhlaghi <makhlaghi>
Group administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by kathenas (Posted a comment)
  • -email is unavailable- added by makhlaghi (Submitted the item)
  • -email is unavailable- added by makhlaghi
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follows 1 latest change.

    Date Changed by Updated Field Previous Value => Replaced by
    2024-07-28 makhlaghi Carbon-Copy- Added -email is unavailable-

    Back to the top

    Powered by Savane 3.14-60ba.
    Corresponding source code