Skip to end of metadata
Go to start of metadata

Learning Outcomes

  1. Understand package management and distinguish between different practices relating to package objectives and chosen programming language.
  2. Carry out package management operations in order to critically appraise current packages and propose changes.
  3. Understand the importance of software licenses, versioning policy, and clear documentation and examples.
  4. Apply best practices to create a simple package suitable for long term maintenance.
  5. Evaluate options for managing configuration and behaviour relating to package installation, removal, upgrade and re-installation.
  6. Analyse opportunities for automating package management and releases, maintaining a clear focus on the user rather than the developer.
  7. Critically evaluate opportunities to generalise package management to allow the easy building and maintenance of packages on multiple platforms.
  8. Recognise and assess opportunities to apply package management techniques in your own environment.

There will be trainers and speakers from the SCAPE Project partners including the Open Planets Foundation, The British Library, and the National Library of the Netherlands.

Wednesday 26 March

Day 1: Thinking Like a Package Maintainer

Time Session Learning outcomes
09:30 - 10:00 Registration  
10.00 - 10:20 Introduction and aims
Why software packaging matters
  • Who will use your software?
  • Making life easy for users.
  • Software sustainability, can your project live without you?
  • How a package maintainers perspective might help.
10:20 - 11:00 The Advanced Packaging Tool (APT)
An introduction to APT
  •   What is a package / package manager?
  •   apt-get install and beyond.
  •   APT repositories and sources.
1, 2
11.00 - 11.15 Coffee  
11.15 - 12.30 Anatomy of an APT package
Looking at the internals of an APT package
  • Unpacking an APT package.
  • Everything in its right place: following convention.
  • Managing dependencies.
  • Package hooks: update-alternatives.
1, 2
12.30 - 13.30 Lunch  
13:30 - 14:30 Maintaining an APT Package
Creating and distributing your first package
  • Packaging upstream development.
  • The little details: Licensing, version numbers, changelog.
  • Documentation, YES you heard me, documentation.
  • When things go wrong: installation problems, using lintian.
3, 4, 5
14:30 - 15:00 The Bigger Picture: Continuous Deployment
Making a software release business as usual
  • Is releasing software a big deal? Only because we make it one.
  • Beyond Continuous Integration to Continuous Deployment.
  • Automate everything, developers should practise what they preach.
  • BUT my project's too big, too complex, NO IT'S NOT.
  • OR if it really is, reconsider.
6, 7
15:00 - 15:15 Coffee  
15.15 - 16:30 Robots: For Package Maintainers
Using GitHub,Vagrant and friends to automate software releases
  • Tools and services take the pain out of packaging.
  • What's awkward to automate?
  • Create and automated packaging and release workflow.
4, 5
16.30 - 17.00 Wrap up
Summary and closing questions.
17.00 Close  
20.00 Event dinner  

Thursday 27 March

Day 2: Behaving Like a Package Developer

Time Session Learning outcomes
09.15 - 09.30 Welcome back
Overview of agenda for the day
  Invited talk: My experience with Jpylyzer  
09:30 - 09:50 The Bigger Picture: DevOps
Software development and IT operations in harmony
  • An introduction to DevOps.
  • Develop using the platform and tools of your choice.
  • Test and deploy on the platform chosen by IT Ops.
  • Opportunities for collaboration.
09.50 - 11.15 Robots: For Developers
Automating the development workflow
  • Starting your project as you mean to go on.
  • Ingredients for a personalised automated workflow.
  • Python projects.
  • C/C++ projects.
  • Java projects.
  • Version numbers and changelogs.
  • Packaging development snapshots.
6, 7
11.15 - 11.30 Coffee  
11.30 - 12.30 Going Public
Using public, free infrastructure
  • Sharing your test and deployment environment.
  • Using Travis-CI, a public Continuous Integration service.
  • An introduction to BinTray for software releases.
7, 8
12.30 - 13.45 Lunch  
13.45 - 15.00 Packaging for Other Platforms
Applying these principles to other OSs
  • Translating to RPM, exe, etc.
  • Alien for quick creation of RPM from an APT package.
  • Using Vagrant to create real packages for other distros.
  • A look at the Open Build Service for cross distro packaging.
  • Support of Mac and Windows users.
7, 8
15.00 - 15.15 Coffee  
15.15 - 16.30 Open Session
Build your own package.
16.00 - 16.30 Wrap up
Questions, discussion and event evaluation
16.30 Close  

Register at:

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.