Coder Social home page Coder Social logo

mumble-voip / mumble-ubuntu-ppa Goto Github PK

View Code? Open in Web Editor NEW
8.0 13.0 5.0 113 KB

Template Debian package used to generate the Mumble team's PPAs on Launchpad.

License: Other

Perl 24.85% Shell 55.03% Makefile 20.12%
ubuntu ppa mumble mumble-server

mumble-ubuntu-ppa's Introduction

Mumble Ubuntu PPA template package

This git repository contains a template Debian package that we use to generate the Mumble PPAs that live on Launchpad:

PPA Description
release Current stable release of Mumble and Mumble Server
snapshot Current development snapshot of Mumble and Mumble Server for testind and bleeding-edge features and fixes

The provided packages are the client mumble and the server mumble-server.

Context

PPA stands for Personal Package Archive.

While a distribution like Ubuntu prepares and offers official packages (builds) maintained by a dedicated maintainer these packages can become outdated compared to the upstream source project because of the fixed release cycles of the distribution.

Some distributions offer backports package repositories that backport newer program versions to previous OS distribution versions. But a single backports repository will contain a lot of newer packages instead of just the ones you want to explicitly use newer versions of. Manually managing those (with a lower auto-install priority) is possible, but manual work.

PPAs allow third parties like upstream official projects to host their own package archives which can be added to an installations package sources. These PPAs are often more focused on single software packages.

For Mumble we provide a release and a snapshot repository (under ~mumble). The release PPA holds current stable releases for current and older Ubuntu releases. The snapshot PPA holds current development snapshots for testing and bleeding-edge features and fixes.

PPA package building

Ubuntu uses the Debian apt deb package system.

This repository holds deb package information and scripts for building deb packages, and for uploading them to the PPA.

Our infrastructure

In our internal build system we have a job named 'Mumble Ubuntu PPA Submitter' that prepares a package source tar ball that is uploaded to launchpad, built on the launchpad build system, and published in the PPAs for numerous Ubuntu versions.

General Idea

The idea of this package is to be a base from which packages for various Ubuntu PPA builds can be built from.

All the entries made by the Mumble team in the changelog are made for a special release called 'template'. For example, the latest release as of this writing is 1.2.4rc1-8-gb115a29-0template1 and the whole changelog entry is:

mumble (1.2.4~rc1-8-gb115a29-0~template1) template; urgency=low

  * Drop version requirement on libzeroc-ice-dev to build on precise.
  * Use bundled CELT codecs to build on raring.
  * Add CONFIG+=bundled-opus to force the use of the bundled Opus library.

 -- Mikkel Krautz <[email protected]>  Sat, 03 Feb 2013 14:39:40 +0100

All modifications made in the base template should target the template release and use the debian version '0~template1' (and bump if appropriate).

Every time the Mumble team updates the template package, one of these template entries will be added. The package version number that is used is simply a reflection of the current Mumble package at the time of the update.

When building a source package for upload to Launchpad, the ppagen.bash script (which also lives in this repository) can be used. For example, to generate a package using the template, use:

./ppagen.bash 1.2.4~rc1-8-gb115a29 quantal 1 --dry-run  # drop --dry run to upload

and without dry run, uploaded to the mumble-snapshot PPA (which lives at https://launchpad.net/~mumble/+archive/snapshot):

./ppagen.bash 1.2.4~rc1-8-gb115a29 quantal 1 --snapshot  # use --release to upload
                                                         # to the mumble-release PPA

The ppagen.bash script will, when running the above command:

  • Download the Mumble tarball for the given version (and a GPG .sig)
  • Verify the signature
  • Clone the mumble-ubuntu-ppa repository into the 'debian' folder in the root of the source tree.
  • Add a new changelog entry for the PPA build.
  • Upload it to the mumble-snapshot PPA (https://launchpad.net/~mumble/+archive/snapshot)

The changelog entry that the script adds will be of the form:

mumble (1.2.4~rc1-8-gb115a29-1~ppa1~quantal1) quantal; urgency=low

  * PPA Upload of 1.2.4~rc1-8-gb115a29 snapshot for Ubuntu quantal

 -- Mikkel Krautz <[email protected]>   Sun, 03 Feb 2013 15:19:02 +0100

with the latest template changelog entry exactly below it:

mumble (1.2.4~rc1-8-gb115a29-0~template1) template; urgency=low

  * Drop version requirement on libzeroc-ice-dev to build on precise.
  * Use bundled CELT codecs to build on raring.
  * Add CONFIG+=bundled-opus to force the use of the bundled Opus library.

 -- Mikkel Krautz <[email protected]>  Sat, 03 Feb 2013 14:39:40 +0100

That is, the changelog entry that is added by the ppagen.bash script is merely a temporary indicator of the fact that a PPA build was performed (oh, and it of course also provides the version number to use for the package and the release to target).

mumble-ubuntu-ppa's People

Contributors

davidebeatrici avatar hacst avatar kissaki avatar mkrautz avatar septarius avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mumble-ubuntu-ppa's Issues

snapshot and release PPA broken at least for precise

add-apt-repository ppa:mumble/release :(
Traceback (most recent call last):
File "/usr/bin/add-apt-repository", line 128, in
ppa_info = get_ppa_info_from_lp(user, ppa_name)
File "/usr/lib/python2.7/dist-packages/softwareproperties/ppa.py", line 84, in get_ppa_info_from_lp
curl.perform()
pycurl.error: (35, 'gnutls_handshake() failed: A TLS warning alert has been received.')

If I add by hand:
deb http://ppa.launchpad.net/mumble/release/ubuntu precise main

I get (on apt-get update)
W: Failed to fetch http://ppa.launchpad.net/mumble/release/ubuntu/dists/precise/main/binary-amd64/Packages 404 Not Found [IP: 2a01:488:66:1000:5c33:8591:0:1 80]

W: Failed to fetch http://ppa.launchpad.net/mumble/release/ubuntu/dists/precise/main/binary-i386/Packages 404 Not Found [IP: 2a01:488:66:1000:5c33:8591:0:1 80]

And yes, there is no Package file in the folder, just .bz2 and .gz
Also tried to add the key via:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0x85DECED27F05CF9E

mumble-server.readme

Context: https://github.com/mumble-voip/mumble-ubuntu-ppa/blob/master/mumble-server.README.Debian

  1. This might be outdated:

If you have apache running, you can install the mumble-server-web package to get web-accessible scripts.

Is it? If yes we can remove that.

  1. Does the mumble-server installed via your PPA also autostart on system-start?
    In this case we could add a note for this in the Readme.

In the debian file (README.debian) it reads:

To enable or disable the mumble-server daemon under sysvinit, this now needs
to be done via update-rc.d at the command line as root or via sudo:

  update-rc.d mumble-server [disable|enable]

This has been changed compared to upstream because disabling daemons via an
environment variable in /etc/default/<package> causes problems for init
systems (e.g. systemd) so it has been deprecated by Debian Policy ยง9.3.3.1
since Policy version 4.1.3.

To stop and disable mumble-server with systemd:

  systemctl stop    mumble-server
  systemctl disable mumble-server
  systemctl mask    mumble-server

To re-enable and start mumble-server with systemd:

  systemctl unmask  mumble-server
  systemctl enable  mumble-server
  systemctl start   mumble-server
  1. I would change this:

Murmur's root user is called SuperUser. To set the password for superuser,
simply dpkg-reconfigure mumble-server.

Edits: Murmur's Admin user and simply run:
and add You can add another user to the admin group via ACL. (maybe also add a link to the wiki (when its rewritten and updated ๐Ÿ˜› ).

silent concering messages

What is concering? I could not find a meaning to this and even if it exists it might be rewritten:

The mumble-server init script does not show messages in console on
startup/shutdown by default; if you wish to see start/stop messages to the
console on upgrades, uncomment "VERBOSE=yes" in /etc/default/rcS.

(if thats even the correct meaning)

I can make a pull request for this, if you approve.

Daily PPA broken for Ubuntu 16.10

The Daily PPA for Ubuntu 16.10 is missing dependencies, looking for old dependencies that existed on older systems but was upgraded?

nolsen@nolsen-HP-Notebook:~$ sudo apt install mumble
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 mumble : Depends: libprotobuf9v5 but it is not installable
E: Unable to correct problems, you have held broken packages.

Snapshot PPA installs older snapshot over newer release

Describe the bug
When a user already has the latest release installed from the Ubuntu PPA, attempting to switch to development snapshots results in the user receiving an older snapshot.

Steps to Reproduce
Steps to reproduce the behavior:

  1. Install Mumble from release PPA
  2. Add snapshot PPA
  3. apt update && apt install mumble

Expected behavior
The installed mumble package should be no older than the latest version from the release PPA.

Desktop (please complete the following information):

  • OS: Ubuntu
  • Version: Mumble 1.3.1 (release), Mumble 1.3.1 RC1 (snapshot, OLDER than release)

Shall I try and simplify backports?

Hi! Thanks for maintaining the PPA.
Looking at the backports directory, I wondered why do we use perl for
something that basically looks like simple string replacements?

My idea is to keep precise, trusty and xenial as they are, until they're eventually phased out.

For artful, bionic, cosmic, disco, eoan, and focal:

  • It seems the relevant parts are the three regexp lines.
    I'd switch that script from perl to sed, so we can omit the file I/O stuff.
    We'd need to either pass the filename as argument or write a small
    wrapper script; both would seem a lot more elegant than the perl I/O
    boilerplate.
    I'd choose the filename as argument route, because that would make it
    easier to preview the effects.

  • They seem identical except for the distribution comments.
    How about I merge the comments so the artful file says it's for all those
    versions, and make the others symlinks to artful?
    It seems to me that this would convey intent a lot better.
    With that, #9 would have been a 1 line change adding a bullet point to
    the list of versions in the comment, and 1 added symlink, rather than
    lot of copied code.

  • The only place I could imagine they're being called from, is
    ppagen.bash line 112 (if [ -x debian/backports/${DIST} ]; then perl debian/backports/${DIST}; fi)
    but in my checkout of the files, they aren't marked executable,
    so I guess they aren't used at all.

  • Given the control file on current master, the only change the scripts
    do is to add a second newline character at the end of the file.
    That's probably why no-one noticed that they aren't marked executable.
    Could we add that blank line in the original file, and then just drop
    these backport files?

Missing 20.04 PPA repo

When adding the PPA repository on Ubuntu 20.04 (the latest LTS version, Focal Fossa) an error occurs because the correct published index/metadata is missing from the PPA for Focal Fossa. It can be worked around by forcing the PPA to use the Eoan codename instead of Focal but I'm hoping this can be an easy ask to get it updated.

Thanks for the hard work on a good service.

Make PPA use Qt 5 by default

Except 12.04 LTS all Ubuntu versions supported by us have Qt 5 packages. To be able to cleanly switch to it for the next release we should make it the default now and add adjust the backport script for 12.04 LTS to use the 'qt4-legacy-compat' flag.

PPA for Ubuntu Jammy

The issue

No current release file for Jammy Ubuntu on the PPA

sudo add-apt-repository ppa:mumble/release
Repository: 'deb https://ppa.launchpadcontent.net/mumble/release/ubuntu/ jammy main'
More info: https://launchpad.net/~mumble/+archive/ubuntu/release
Adding repository.
Press [ENTER] to continue or Ctrl-c to cancel.
Adding deb entry to /etc/apt/sources.list.d/mumble-ubuntu-release-jammy.list
Adding disabled deb-src entry to /etc/apt/sources.list.d/mumble-ubuntu-release-jammy.list
Adding key to /etc/apt/trusted.gpg.d/mumble-ubuntu-release.gpg with fingerprint 22C54CD5AAE0971730875E0285DECED27F05CF9E
Hit:1 http://us.archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://us.archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:3 http://us.archive.ubuntu.com/ubuntu jammy-backports InRelease
Hit:4 http://us.archive.ubuntu.com/ubuntu jammy-security InRelease
Hit:5 https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy InRelease
Ign:6 https://ppa.launchpadcontent.net/mumble/release/ubuntu jammy InRelease
Err:7 https://ppa.launchpadcontent.net/mumble/release/ubuntu jammy Release
404 Not Found [IP: 185.125.190.52 443]
Reading package lists... Done
E: The repository 'https://ppa.launchpadcontent.net/mumble/release/ubuntu jammy Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Mumble version

1.3.4-1ubuntu1

Mumble component

Server

OS

Other

Additional information

Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-52-generic x86_64)

Investigate and ideally fix lintian warnings

Now running lintian...

E: mumble changes: bad-distribution-in-changes-file focal
E: mumble source: build-depends-on-metapackage build-depends: qt5-default

W: mumble source: ancient-standards-version 3.9.5 (current is 3.9.7)
Finished running lintian.

Merge ppa patches back into master

Unless they contain some extreme Ubuntuism I see no reason why we should have additional patches applied on top of our upstream source package.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.