GithubHelp home page GithubHelp logo

makedeb / makedeb Goto Github PK

View Code? Open in Web Editor NEW
468.0 468.0 8.0 2.11 MB

A simplicity-focused packaging tool for Debian archives

Home Page: https://makedeb.org

License: GNU General Public License v3.0

Shell 90.85% Python 1.35% Jsonnet 1.27% Rust 5.62% Just 0.91%
archlinux aur debian hacktoberfest makedeb makepkg mpr ubuntu

makedeb's Introduction

makedeb

makedeb is a packaging tool for Debian and Ubuntu based systems that aims to be simple and easy to use, whilst still remaining just as powerful as standard Debian tooling.

Installing

The recommended way to install makedeb is through the interactive installer. This will set up the needed repositories on your system, allow you to choose which makedeb release you want, as well as provide options for extra utilities for use with makedeb.

You can use the installer by running the following:

# If you're running in a noninteractive environment (such as in CI or on a server), change `-ci` to `-c`.
bash -ci "$(wget -qO - 'https://shlink.makedeb.org/install')"

If you'd like to install makedeb in a different manner (such as if you want to install from the MPR or with Docker), you can find instructions for such in makedeb Docs.

Building

See BUILDING.md.

Contributing

See CONTRIBUTING.md.

Usage

Online documentation can be found in the aformentioned documentation. Help with available usage can also be found after installation with makedeb --help.

Support

See Obtaining Support in the makedeb Docs.

Donate

Thank you to the following companies who have generously given resources to help the makedeb project:

Inedo: For their universal package manager and Docker registry tool, ProGet. ProGet is used in the makedeb project to manage both Debian packages and Docker images. In addition, ProGet also supports private repositories and registries, as well as numerous package formats, including RPM, NuGet, and npm.

If you or your own organization finds makedeb to be useful, please consider donating.

makedeb's People

Contributors

bithium avatar elsie19 avatar hiddeninthesand avatar hwittenborn avatar jehhb avatar jrop avatar kavplex avatar lpuv avatar pirate486743186 avatar pwall2222 avatar rafflesiaceae avatar wizard-28 avatar yitzchak avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

makedeb's Issues

build dependency check fails when using `-F` argument

Issue

when trying to run makedeb -F DEBBUILD the build dependency check fails because it apparently tried to run
cat: ./PKGBUILD which does not exist, since I am using a different file name.

Far worse is when I acutally have a PKGBUILD (for AUR) next to my DEBBUILD file, it will silently pull the build dependencies from the wrong file.

Installation source

APT Repository

Installed release type

Stable

Installed makedeb version

6.3.3-1

Installed makepkg version

8.5.0-1

MPR version of makedeb-makepkg issues (beta and stable)

Issue

There are 2 main issues with the MPR version of makedeb-makepkg, on stable, when trying to install a package it gives the following error:

/usr/bin/makedeb: line 716: /usr/share/makepkg/util/message.sh: No such file or directory

And with the beta version it fails to create the makepkg.conf file, giving an error calling it out when trying to install or update packages.

Installation source

makedeb Package Repository (MPR)

Installed release type

Beta

Installed makedeb version

6.3.1-1

Installed makepkg version

8.4.0-1

[BUG] Install error

Running

wget -qO - 'https://proget.hunterwittenborn.com/debian-feeds/makedeb.pub' | gpg --dearmor | sudo tee /usr/share/keyrings/makedeb-archive-keyring.gpg &> /dev/null

on an ubuntu docker container produces the output

gpg: no valid OpenPGP data found.

[FEATURE] Roadmap

From our chats:

Hunter Wittenborn: 
> I would like to have a roadmap, basically the feature requests/debugging/analysis and anything 
of sorts and I would like it listed somewhere,
 this way we can just take up something and know that xyz is working on it and be aware of how things are going.
Definitely, I think that'd help a ton if anyone else was wanting to get involved.

Mind making a GitHub issue on the topic? 

This issue is just a gentle reminder for roadmap asap. Would facillitate better development and contribution

Hosting providers for repository have changed

I've decided to migrate the repository infrastructure from Gemfury to being set up a hosted on a VPS.

This should give me more control on all aspects of distributing binaries, as well as giving you all more assurance in your downloads, with the infrastructure being managed directly instead of by a third party. This should also be the final time repository information will change.

Updates will be pushed to the old Gemfury repo within the next couple of days notifying all users of the change. After being pushed, the Gemfury repo will receive no further updates.

Updated repository information can be found in the README.md file.

Suggests using `-f` to overwrite, but option `-f` is not accepted

Issue

When a package is already built, makedeb claims the package is already built and suggests using the -f option:

[!] Part of the package group has already been built. (use -f to overwrite)

However, -f is not a valid option to makedeb:

ubuntu@builder:~/my-package$ makedeb -f
[!] Unknown option '-f'

Clearly this option is meant to be passed through to makepkg, but I haven't found a way to specify options for makepkg within makedeb.

Installation source

APT Repository

Installed release type

Beta

Installed makedeb version

8.3.1-1

Installed makepkg version

8.12.1-1

Fetching and Installation of distro specific dependencies is broken

Issue

this screenshot should contain all the relevant information

grafik

changing to

focal_depends
bullseye_depends

or changing the order does not fix the issue

Installation source

APT Repository

Installed release type

Stable

Installed makedeb version

7.1.2-1

Installed makepkg version

8.8.0-1

Support '--asdeps' option on Debian releases

Description of feature

It would be nice to be able to mark a package as a dependency when installing it without having to run apt-mark auto {package} manually.

This could prove to be useful when doing things like installing MPR dependencies, which can help make things easier for more novice end users, or just for people who might forget they installed said MPR dependency (such as myself :P).

Installed makedeb version

6.3.12-1

[BUG] Unable to install due to unsigned release

Hi I wanted to try out this awesome project but I'm unable to install after following the setup instructions due to the repository not being signed.

W: GPG error: https://proget.hunterwittenborn.com makedeb Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7AAC098FF084C445
E: The repository 'https://proget.hunterwittenborn.com makedeb Release' is not signed.
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.

Add Transifix page for makedeb translations

We should start creating translations for makedeb, as there are already users using makedeb that don't use English as there primary language, and it would thus be better for them if makedeb could also be in their native languages.

Allow specifying what distributions a package can be built on

Description of feature

It would be nice to have syntax like this to specify what distributions a package can be built on:

distro=('focal' 'groovy' 'buster')

This would allow for more fine-grained control over how a package is able to be built, while ensuring any issues with certain releases of distributions are caught by makedeb directly, instead of by commands that randomly fail.

The previous issue mentioned should only happen with versioned dependencies, which should be caught by standard dependency version restrictors. The main reason this needs implemented is to fix issues with MPR uploads when something like source would be used as a distro codename, which shouldn't happen normally, but users may try regardless. I just need to figure out if I need to require the distros to be listed in a variable to be properly parsed by makedeb.

Installed makedeb version

6.3.4-1

Incorrectly handle custom functions in `.install` scripts

Issue

Intro

When a AUR package contains a .install script, it seems makedeb only convert four standard functions to the Debian postinst script:

for i in pre_install post_install pre_remove post_remove; do
if [[ "$(type -t "${i}")" != "function" ]]; then
continue
fi
function_data="$(type "${i}" | sed '1,3d' | sed '$d')"
output_filename="$(echo "${i}" | sed 's|_install|inst|' | sed 's|_remove|rm|')"
echo '#!/usr/bin/env bash' > "DEBIAN/${output_filename}"
echo "${function_data}" >> "DEBIAN/${output_filename}"
chmod 555 "DEBIAN/${output_filename}"
done
}

However, some .install scripts try to call custom functions in the installation process. In the case of chromium-snapshot-bin, custom note() function (shown below) isn't properly treated and causes the failure of configure.

# Colored makepkg-like functions
msg_blue() {
    printf "${blue}==>${bold} $1${all_off}\n"
}

note() {
    printf "${blue}==>${yellow} NOTE:${bold} $1${all_off}\n"
}

all_off="$(tput sgr0)"
bold="${all_off}$(tput bold)"
blue="${bold}$(tput setaf 4)"
yellow="${bold}$(tput setaf 3)"

post_install() {
    note "Pepper Flash is now auto-detected from: /usr/lib/PepperFlash/ (AUR/pepper-flash)"
    note "Custom flags should be put directly in: ~/.config/chromium-flags.conf"
    note "The launcher is called: 'chromium-snapshot-bin'"
}


post_upgrade() {
    post_install
}

Reproduce

$ git clone https://aur.archlinux.org/chromium-snapshot-bin.git/
$ cd chromium-snapshot-bin
$ kate PKGBUILD # change deps and pkgver
$ makedeb
$ dpkg -i chromium-snapshot-bin_9x.x.xxxx.x.xxxxx.deb # install successfully, but fail to configure

Sys Info

Debian bullseye + KDE Plasma 5.20
HP pavilion sleekbook 14

Installation source

APT Repository

Installed release type

Stable

Installed makedeb version

6.3.11-1

Installed makepkg version

8.5.2-1

`--printsrcinfo` does ignore distro specific source files and checksums

Issue

When using source_x86_64 and bullseye_source_x86_64 in the PKGBUILD the resulting SRCINFO generated from makedeb --printsrcinfo does only contain source_x86_64.

Same issue with sha256sums_x86_64 and bullseye_sha256sums_x86_64.

The package openrgb-bin does suffer from this issue: https://mpr.hunterwittenborn.com/openrgb-bin.git

Installation source

APT Repository

Installed release type

Stable

Installed makedeb version

6.3.11-1

Installed makepkg version

8.5.2-1

[BUG] package version mismatch & so no .deb package created

I use makepkg to create a package for my Manjaro installation from my git repo. It runs perfectly and creates a {pkgname}-${pkgver}-${pkgrel}-${arch}.pkg.tar.zst package which can be installed without any problem. But when I run makedeb on it, it fails with the output given below

==> Making package: easier-linux-git 5.97f054b-1 (Fri Jul 30 11:39:36 PKT 2021)...
==> Converting architecure...
==> Entering fakeroot environment...
==> Running makepkg...
==> Retrieving sources...
==> Extracting sources...
==> Starting pkgver()...
==> Starting package()...
target DESTDIR dirctory = /home/mazhar/gitapps/easier-linux/pkg/easier-linux-git
created dirctory /home/mazhar/gitapps/easier-linux/pkg/easier-linux-git/etc/skel
target home dirctory = /home/mazhar/gitapps/easier-linux/pkg/easier-linux-git/etc/skel

installing user files ...
installing system-wide files ...
installing gEdit files ...
installing debian/ubuntu files ...
installing c++ files ...
installing ffmpeg files ...
installing wine files ...
installing youtube-dl files ...
installing fish files ...

done.
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "easier-linux-git"...
  -> Compressing package...
tar: easier-linux-git-unknown.unknown-1-any.pkg.tar.zst: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

The last two lines of output are indications of an issue. For some reason, it is trying to find package with version unknown.unknown when it actually created an ArchLinux package with version ${number}.${commitID}.

How to reproduce the issue?

git clone https://github.com/realmazharhussain/easier-linux
cd easier-linux
makedeb

Expected Behavior

makedeb should run successfully like makepkg does

What actually happens?

makedeb fails trying to convert ${package}.pkg.tar.zst into a .deb package because it gets its name(version part of it) wrong.

A colon gets added in the deb files name and which results in the rejection of Deb file

Issue

I'm using Makedeb-beta
And trying to install fzf-git
Everything goes fine until it reaches the Install part of the deb file. And as the deb file has a colon added the deb file name had illegal characters and thus gets unrecognised
Here's an ls after building the deb file successfully
https://ezup.dev/p/lgj72i

Installation source

APT Repository

Installed release type

Beta

Installed makedeb version

6.3.1

Installed makepkg version

8.5.0

Split packages break after the first package in the group

Issue

I've been trying to build a package that packages into a split package, but end up hitting this error as soon as there is more than one package:

/usr/bin/makedeb: line 325: declare: makedeb_package_version: readonly variable

Example PKGBUILD that reproduces the error:

pkgbase=test
pkgname=(test-1 test-2)
pkgver=1.0
pkgrel=1
arch=('any')
depends=()
makedepends=()
source=()
sha256sums=()

package_test-1() {
    install -dm0644 "${pkgdir}/opt/test/1.txt"
}

package_test-2() {
    install -dm0644 "${pkgdir}/opt/test/2.txt"
}

Console Output

Full --verbose output

ubuntu@builder:~/split-package$ makedeb
[#] Making package: test 1.0-1 (Tue 16 Nov 2021 00:14:34 AM EST)...
[#] Checking build dependencies...
[#] Entering fakeroot environment...
[#] Retrieving sources...
[#] Extracting sources...
[#] Starting package_test-1()...
[#] Tidying install...
  [->] Removing libtool files...
  [->] Purging unwanted files...
  [->] Removing static library files...
  [->] Stripping unneeded symbols from binaries and libraries...
  [->] Compressing man and info pages...
[#] Checking for packaging issues...
[#] Starting package_test-2()...
[#] Tidying install...
  [->] Removing libtool files...
  [->] Purging unwanted files...
  [->] Removing static library files...
  [->] Stripping unneeded symbols from binaries and libraries...
  [->] Compressing man and info pages...
[#] Checking for packaging issues...
[#] Creating package "test-1"...
  [->] Built package detected. Removing...
  [->] Generating control file...
  [->] Compressing package...
[#] Creating package "test-2"...
/usr/bin/makedeb: line 325: declare: makedeb_package_version: readonly variable

Installation source

APT Repository

Installed release type

Beta

Installed makedeb version

8.3.1-1

Installed makepkg version

8.12.1-1

Allow Debian-styled architectures to be specified in 'arch'

Description of feature

Package architectures currently have to be entered in the same way that they would be present on Arch Linux (i.e. x86_64 instead of amd64).

This could cause problems for new users that are used to the Debian architecture names, and it would thus be better if makedeb could just detect when something like amd64 is entered and then just handle it appropriately.

Installed makedeb version

5.16.2

Debian repository signing key will be changing soon

I'm planning on changing the backend software used to manage the Debian repository from Sonatype Nexus to ProGet within the next few days.

The process will involve the old GPG key no longer working, and will require obtaining a new one after I get everything set up.

As of right now, nothing needs to be done on your guys' end. I'll post an update when the changes take effect, as well as instructions for how to obtain the updated signing key.

Support Pre-dependencies

Description of feature

Add support for something along the lines of the following to work with the Pre-Depends field in control files:

depends=('p!foo' 'bar')

Installed makedeb version

6.7.8

[AUR] Problems with the target architecture

When building a package, the first element of the enumeration of the arch=('x' 'y') parameter is used. If the target platform does not match, build problems appear.
makedeb version:
Package: makedeb
Status: install ok installed
Maintainer: Hunter Wittenborn [email protected]
Architecture: all
Source: makedeb.sh
Version: 2.0.6-1
Depends: makepkg, dpkg-dev, binutils, file
Conflicts: makedeb-alpha
Description: Make PKGBUILDs work on Debian-based distros (stable release)

Matrix support rooms are down

There's some issues with the database powering the Matrix support server that I won't be able to fix until tomorrow when I get some free time.

Until then I won't be able to respond to anyone on there. If any dire issue needs to be said post it under this thread, an issue, or via the email listed on my account.

[FEATURE] Add support for choosing 'Recommends' or 'Suggests' for packages under 'optdepends'

Consider the following PKGBUILD:

pkgname=hello-world
pkgver=1
pkgrel=1
arch=('any')

optdepends=('package' 'package1')

It would be nice if there was a way to control where packages are placed in the generated control file (i.e. putting package under Recommends and package1 under Suggests).

My current idea for implementing such a system is as follows:

  • If the package is prefixed with r!, add to Recommends.
  • If the package is prefixed with s! or nothing, add to Suggests.

The reasoning for using ! is that the character isn't allowed by either dpkg or makepkg, and would thus alleviate any issues that may arise with conflicts in package names.

If this approach were to be taken, modified versions of makepkg would also need to be published to the AUR, as they would need to be patched to support the r! and s! syntax for users on Arch Linux.

Add a way to specify install scripts using separate folder or variables

Description of feature

When packaging a program which offers a DEB file, then currently it is not very convenient to specify the install scripts, which are already present in the downloaded DEB file.

It would be great to be able to just extract the controls.tar.gz into a special folder or have special variables, which contain a path to the script file.

Installed makedeb version

6.3.11-1

FYI: https://github.com/prebuilder

Hi. Excuse me for the disturbance, but you may be interested in https://github.com/prebuilder/prebuilder.py . It is a framework and a set of components for creating package building pipelines. Currently it got broken somewhere (and I have found no time to fix it yet) and has some issues unsolved (like making changes into dpkg its dependencies depend on, and the dependences themselves are not very finished), but the code is still present, and you may find it useful.

Reimplement makedeb without reliance on makepkg

There's some things that I'd like to implement inside of makedeb that are just going to be easier to do and manage if I re-implement makedeb's codebase without any reliance on makepkg.

I'm by no means doubting that it'll take a lot of effort, and I wouldn't count on such a project being completed any time soon.

[NOTICE] Switching hosting provider for repo

I'm currently looking into a different hosting provider for packages(should have it going within a week), but until then makedeb won't be getting any updates via a repo. If you're wanting to get it updated, feel free to build it locally(should work with any copy of makedeb already installed).

[AUR] Packages currently do not build properly

As it currently stands both the makedeb and makedeb-alpha packages expect data.tar.xz source however this does not exist within the specified PKGBUILD file.

Per the following feedback the below PKGBUILD will result in installable/buildable packages, however it also results in a non-workable version of makedeb with new errors:

# Author: Hunter Wittenborn <[email protected]>
# Maintainer: Hunter Wittenborn <[email protected]>

pkgname=makedeb-alpha
pkgver=2.11.2
pkgrel=1
pkgdesc="Create Debian archives from PKGBUILDs (alpha release)"
arch=('any')
depends=('pacman' 'dpkg')
license=('GPL3')
url="https://github.com/hwittenborn/makedeb"

source=("git+${url}")
sha256sums=('SKIP')

package() {
  # Normal setup - same as in Debian PKGBUILD
  mkdir -p "${pkgdir}/usr/bin/"
  
  cat "${srcdir}"/makedeb/src/functions/{*.sh,*/*.sh} >> "${pkgdir}/usr/bin/makedeb"
  
  cat "${srcdir}/makedeb/src/makedeb.sh" >> "${pkgdir}/usr/bin/makedeb"
  
  sed -i "s|DATABASE_DIR=.*|DATABASE_DIR=/usr/share/makedeb-db/|" "${pkgdir}/usr/bin/makedeb"

  # Disable auto install functionality as Arch doesn't use APT
  sed -i 's|${INSTALL}|INSTALL|' "${pkgdir}"/usr/bin/makedeb
  
  sed -i 's|INSTALL=.*|echo "APT is required for auto installation functionality, and has thus been disabled."; exit 1 ;;|' \
    "${pkgdir}/usr/bin/makedeb"
    
  sed -i 's|  echo "  -I,.*"||' "${pkgdir}/usr/bin/makedeb"
  
  sed -i 's|install_depends |true |g' "${pkgdir}/usr/bin/makedeb"
  sed -i 's|remove_depends |true |g' "${pkgdir}/usr/bin/makedeb"
}

Originally posted by @hwittenborn in authelia/authelia#573 (comment)

  1. /usr/bin/makedeb does not have an executable bit (you can either fix this in your upstream repo or chmod in your PKGBUILD)
  2. The following block of code will result in an error /usr/bin/makedeb: line 363: syntax error near unexpected token ;;' when you try to run makedeb
 sed -i 's|INSTALL=.*|echo "APT is required for auto installation functionality, and has thus been disabled."; exit 1 ;;|' \

You need to drop the extra semicolon to become:

 sed -i 's|INSTALL=.*|echo "APT is required for auto installation functionality, and has thus been disabled."; exit 1 ;|' \

Once those issues have been resolved running makedeb results in the following message no matter what option is passed in:

mana ~ makedeb --help
APT is required for auto installation functionality, and has thus been disabled.

Makedeb creates non-working deb file on Kali Linux

Issue

I tried creating the deb file for kitty-bin in the newest version
I use Kali Linux, which uses kali-rolling as Codename, and as such the created deb had a non-working Depends section in the created deb

This is the error message I got when trying to install the created deb:

'Depends' field, invalid package name 'rolling_depends[@]': character '[' not allowed (only letters, digits and characters '-+._')

The provides, conflicts and replaces section had the same error

I edited the control file by hand after extracting the deb file, and then recreating it under a new name, and the Install worked

As requested, here is the Verbose Log: verbose.log

If anything else is needed, just tell me, I'll get it for you.

Installation source

APT Repository

Installed release type

Stable

Installed makedeb version

6.3.3-1

Installed makepkg version

8.5.0-1

Support JSON output for messages

Description of feature

It would be nice if makedeb could output its messages in JSON so it could be used more easily by things like MPR helpers.

Using such an approach would allow other programs to do things like hide makedeb's output by default, and selectively choose which things they'd like to show to the user.

Installed makedeb version

8.2.1-1

[HELP] Need assistance in writing the package conversions in packages.db

Either make pull requests or just type them below. Keep them in the format arch_package="debian_package(s)".

  • Only one package is allowed for arch_package. However, multiple packages can be specified for debian_package(s).

If, for example, two Arch packages are packaged as one package on Debian, you must list the two Arch packages on separate lines, and assign the same dependency to both.

Support the pipe character for declaring dependencies

Description of feature

Debian supports the use of the following format for declaring dependencies:

package, package1 | package2, package3

In this case, it would require the following packages to be installed:

  • package
  • package1 or package2
  • package3

It would be nice if makedeb could support this as well, perhaps with something like this:

depends=("package" "package1|package2" "package3")

Installed makedeb version

5.16.2

`makedepends` do not get installed

Issue

how to reproduce:

  • on Ubuntu 20.04 install lua5.1 (sudo apt install lua5.1)
  • make sure lua5.3 is not installed
  • build this PKGBUILD:
# Maintainer: zocker_160 <zocker1600 at posteo dot net>

pkgname=hello-world
pkgver=1.0
pkgrel=3
pkgdesc="A Hello World application for testing."
arch=('x86_64')
url="https://github.com/zocker-160/hello-world"
license=('WTFPL')
depends=('bash')
makedepends=('git' 'lua5.3')
source=("git://github.com/zocker-160/hello-world.git")
sha256sums=('SKIP')

build() {
  cd $srcdir/$pkgname
  # check if and which lua is available
  lua -v
}

package() {
  cd $srcdir/$pkgname
  install -Dm 755 hello-world.sh "$pkgdir"/usr/bin/"$pkgname"
}

expected result:

it should install lua5.3 and show the right version when running lua -v in the build script.

actual behaviour:

it does not do anything (I think), because it outputs:

==> Starting build()...
Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
==> Starting package()...

Installation source

APT Repository

Installed release type

Stable

Installed makedeb version

6.3.4-1

Installed makepkg version

8.5.0-1

Add Installed-Size to control file (in control.tar.gz)

Description of feature

Usually the control file (in control.tar.gz) of deb package being built will have the field Installed-Size, which can tell the user how much storage space the package will take up. For example,

# After decompress deb package
$ tar -xf control.tar.xz
$ rg Installed-Size
control
5:Installed-Size: 37

If no Installed-Size, when using apt to install package, it will say the package will take up 0KB of storage space, which is ridiculous.

Please add Installed-Size to the control file of deb package being built.

Installed makedeb version

makedeb (7.1.2+bugfix1-1) - Stable Release

Add support for termux

Description of feature

Termux is a terminal for android that does not require root, it uses apt and dpkg to manage its native packages for android.

More info :

The only thing you have to do, to make it work in termux, is change the PREFIX of makedeb from (/usr) to (/data/data/com.termux/files/usr)

Screenshot_20211126-153239

Note:
Pacman is available for use by makepkg, but there are no packages, all available packages are .deb and use the $PREFIX of termux

Installed makedeb version

No installed

generating srcinfo takes a lot of time. cant share the error log. details in the description.

Issue

makedeb --printsrcinfo is taking way too long. when tried with

bash -x makedeb-makepkg --format-makedeb --printsrcinfo &> error.txt

it generated an error.txt file with a size of 2.4gigs and total line count of 7,78,889. so i cant share it.

Installation source

APT Repository

Installed release type

Stable

Installed makedeb version

7.1.2-1

Installed makepkg version

8.8.0-1

[BUG] makedeb-alpha and makedeb-beta should conflict with and provide makedeb but don't

Problems

  1. When switching among different versions/branches of makedeb using the AUR, I noticed, I manually have to remove/uninstall one version/branch of makedeb before installing the other or it won't install.
  2. If any other package depends on makedeb, It would need to install makedeb(stable) even if makedeb-alpha or makedeb-beta is installed. And if makedeb-alpha or makedeb-beta is already installed, it would prevent dependent package from installation because of Problem#1.

Fix

Following two lines should be added to PKGBUILDs of makedeb-alpha and makedeb-beta

provides=('makedeb')
conflicts=('makedeb')

So that installing one version/branch of makedeb would automatically remove/uninstall any other version/branch if it was already installed and makedeb-alpha and makedeb-beta can satisfy the dependency of makedeb if any package requires it.

[Bug]

Issue

Testing 123

Installation Source

makedeb Package Repository (MPR)

makedeb Version

hi

makedeb Release

Alpha

makepkg Version

hi

Add Bash completions

Description of feature

Self explanatory, completions are nice :)

Installed makedeb version

8.0.4-1

pkgver() is evaluated before the source is fetched

Issue

The pkgver() function is evaluated before the source is fetched (from a git:// source, in this case). This means it fails and doesn't update the pkgver variable correctly. On Arch, that process works as intended.

This here is the (gzip'd) PKGBUILD in question, which is basically just a slightly modified version of https://github.com/xoreos/xoreos-tools/blob/master/dists/arch/PKGBUILD

(package() also still fails with this PKGBUILD, not yet sure why. It's currently still unmodified from the AUR PKGBUILD, so I guess it doesn't work like that for MPR.)

Installation source

APT Repository

Installed release type

Stable

Installed makedeb version

5.9.5

Installed makepkg version

6.0.0

[FEATURE] Add support for `-g` flag

makepkg supports -g flag which is very handy to use when updating version in PKGBUILD — one doesn't need to call ...sum manually. Please, provide such tool for makedeb too

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.